int main(int argc, const char *argv[]) { int arr[] = {32, 53, 23, 8, 92, 29, 5, 99, 24, 9}; int size = sizeof(arr) / sizeof(arr[0]); radixsort(&arr[0], size); outprint(&arr[0], size); return 0; }
int main(){ int i; int k; int *l; k = 10; l = &k; i = outprint(l); write_int(k); write_string("\n"); }
int main() { ITEM **my_items; int c; MENU *my_menu; WINDOW *my_menu_win; int n_choices, i; /* Initialize curses */ initscr(); start_color(); cbreak(); noecho(); keypad(stdscr, TRUE); clear(); refresh(); init_pair(1, COLOR_RED, COLOR_BLACK); getmaxyx(stdscr,y,x); /* Create items */ n_choices = ARRAY_SIZE(choices); my_items = (ITEM **)calloc(n_choices, sizeof(ITEM *)); for(i=0;i<n_choices;++i) { my_items[i] = new_item(choices[i],""); set_item_userptr(my_items[i], func); } my_items[n_choices] = (ITEM *)NULL; /* Crate menu */ my_menu = new_menu((ITEM **)my_items); /* Create the window to be associated with the menu */ my_menu_win = newwin(10, 45, (y/2)-6,(x/2)-22 ); keypad(my_menu_win, TRUE); /* Set main window and sub window */ set_menu_win(my_menu, my_menu_win); set_menu_sub(my_menu, derwin(my_menu_win, 6, 40, 3, 1)); /* Set menu mark to the string " * " */ set_menu_mark(my_menu, " * "); /* Print a border around the main window and print a title */ box(my_menu_win, 0, 0); print_in_middle(my_menu_win, 1, 0, 45, "Welcome to Ncurses Phone Book (NPB)", COLOR_PAIR(1)); mvwaddch(my_menu_win, 2, 0, ACS_LTEE); mvwhline(my_menu_win, 2, 1, ACS_HLINE, 43); mvwaddch(my_menu_win, 2, 44, ACS_RTEE); mvprintw(LINES - 2, 0, "Press ESC to exit"); refresh(); /* Post the menu */ post_menu(my_menu); wrefresh(my_menu_win); //upon(); while((c = wgetch(my_menu_win)) != 27) { switch(c) { case KEY_DOWN: menu_driver(my_menu, REQ_DOWN_ITEM); break; case KEY_UP: menu_driver(my_menu, REQ_UP_ITEM); break; case 10: /* Enter */ { ITEM *cur; void (*p)(char *); cur = current_item(my_menu); p = item_userptr(cur); p((char *)item_name(cur)); refresh(); //printw("%s",item_name(cur)); if(!strcmp("[6] Exit",item_name(cur))) { unpost_menu(my_menu); free_menu(my_menu); endwin(); return 0; } else if(!strcmp("[3] Searching for a contact by name",item_name(cur))) { upon("Search by name"); //if(strlen(str)>1) clear(); set_menu_sub(my_menu, derwin(my_menu_win, 6, 40, 3, 1)); /* Set menu mark to the string " * " */ set_menu_mark(my_menu, " * "); /* Print a border around the main window and print a title */ box(my_menu_win, 0, 0); print_in_middle(my_menu_win, 1, 0, 45, "Welcome to Simple Phone Book Application", COLOR_PAIR(1)); mvwaddch(my_menu_win, 2, 0, ACS_LTEE); mvwhline(my_menu_win, 2, 1, ACS_HLINE, 43); mvwaddch(my_menu_win, 2, 44, ACS_RTEE); mvprintw(LINES - 2, 0, "Press ESC to exit"); refresh(); /* Post the menu */ post_menu(my_menu); wrefresh(my_menu_win); } else if(!strcmp("[4] Searching for a contact by number",item_name(cur))) { upon("Search by number"); clear(); set_menu_sub(my_menu, derwin(my_menu_win, 6, 40, 3, 1)); /* Set menu mark to the string " * " */ set_menu_mark(my_menu, " * "); /* Print a border around the main window and print a title */ box(my_menu_win, 0, 0); print_in_middle(my_menu_win, 1, 0, 45, "Welcome to Simple Phone Book Application", COLOR_PAIR(1)); mvwaddch(my_menu_win, 2, 0, ACS_LTEE); mvwhline(my_menu_win, 2, 1, ACS_HLINE, 43); mvwaddch(my_menu_win, 2, 44, ACS_RTEE); mvprintw(LINES - 2, 0, "Press ESC to exit"); refresh(); /* Post the menu */ post_menu(my_menu); wrefresh(my_menu_win); } else if(!strcmp("[2] Removing a contact",item_name(cur))) { upon("Enter contact name to remove"); clear(); set_menu_sub(my_menu, derwin(my_menu_win, 6, 40, 3, 1)); /* Set menu mark to the string " * " */ set_menu_mark(my_menu, " * "); /* Print a border around the main window and print a title */ box(my_menu_win, 0, 0); print_in_middle(my_menu_win, 1, 0, 45, "Welcome to Simple Phone Book Application", COLOR_PAIR(1)); mvwaddch(my_menu_win, 2, 0, ACS_LTEE); mvwhline(my_menu_win, 2, 1, ACS_HLINE, 43); mvwaddch(my_menu_win, 2, 44, ACS_RTEE); mvprintw(LINES - 2, 0, "Press ESC to exit"); refresh(); /* Post the menu */ post_menu(my_menu); wrefresh(my_menu_win); } else if(!strcmp("[5] Displaying contact list",item_name(cur))) { show(); clear(); set_menu_sub(my_menu, derwin(my_menu_win, 6, 40, 3, 1)); /* Set menu mark to the string " * " */ set_menu_mark(my_menu, " * "); /* Print a border around the main window and print a title */ box(my_menu_win, 0, 0); print_in_middle(my_menu_win, 1, 0, 45, "Welcome to Simple Phone Book Application", COLOR_PAIR(1)); mvwaddch(my_menu_win, 2, 0, ACS_LTEE); mvwhline(my_menu_win, 2, 1, ACS_HLINE, 43); mvwaddch(my_menu_win, 2, 44, ACS_RTEE); mvprintw(LINES - 2, 0, "Press ESC to exit"); refresh(); /* Post the menu */ post_menu(my_menu); wrefresh(my_menu_win); } else if(!strcmp("[1] Adding a contact",item_name(cur))) { int ret=uponadd(); clear(); set_menu_sub(my_menu, derwin(my_menu_win, 6, 40, 3, 1)); /* Set menu mark to the string " * " */ set_menu_mark(my_menu, " * "); /* Print a border around the main window and print a title */ box(my_menu_win, 0, 0); print_in_middle(my_menu_win, 1, 0, 45, "Welcome to Simple Phone Book Application", COLOR_PAIR(1)); mvwaddch(my_menu_win, 2, 0, ACS_LTEE); mvwhline(my_menu_win, 2, 1, ACS_HLINE, 43); mvwaddch(my_menu_win, 2, 44, ACS_RTEE); mvprintw(LINES - 2, 0, "Press ESC to exit"); refresh(); /* Post the menu */ post_menu(my_menu); wrefresh(my_menu_win); if(ret==1) { int trash=outprint(); clear(); set_menu_sub(my_menu, derwin(my_menu_win, 6, 40, 3, 1)); /* Set menu mark to the string " * " */ set_menu_mark(my_menu, " * "); /* Print a border around the main window and print a title */ box(my_menu_win, 0, 0); print_in_middle(my_menu_win, 1, 0, 45, "Welcome to Simple Phone Book Application", COLOR_PAIR(1)); mvwaddch(my_menu_win, 2, 0, ACS_LTEE); mvwhline(my_menu_win, 2, 1, ACS_HLINE, 43); mvwaddch(my_menu_win, 2, 44, ACS_RTEE); mvprintw(LINES - 2, 0, "Press ESC to exit"); refresh(); /* Post the menu */ post_menu(my_menu); wrefresh(my_menu_win); } } pos_menu_cursor(my_menu); break; } } wrefresh(my_menu_win); } /* Unpost and free all the memory taken up */ unpost_menu(my_menu); free_menu(my_menu); // for(i = 0; i < n_choices; ++i) // free_item(my_items[i]); endwin(); }
static void putchar(int c, int *state) { int xflag = 0; Rune r; int hi, lo; switch(state[0]){ case Kanahi: case GBhi: if(CANS2JH(c) || c == 0xff){ state[0]++; state[1] = c; break; } /* fall through */ case Utf: if(c == 0xfe){ state[0] = Kanahi; break; }else if(c == 0xff){ state[0] = GBhi; break; } r = chartab[c]; if(r < 0x80 && state[2] == 0) outchar(r); else if(r == NONE){ switch(c){ case 0xfb: if(!xflag){ state[2] = 1; break; } case 0xfc: if(!xflag){ state[2] = 0; break; } case 0x10: case 0xc7: case 0xc8: case 0xd8: case 0xd9: case 0xda: case 0xdc: case 0xdd: case 0xde: case 0xdf: case 0xfd: if(!xflag) break; /* fall through */ default: outprint("\\%.2ux", c); } }else if(state[2] == 0) outrune(r); break; case Kanalo: case GBlo: if(state[1] == 0xff && c == 0xff){ state[0] = Utf; break; } state[0]--; hi = state[1]; lo = c; S2J(hi, lo); /* convert to JIS */ r = hi*100 + lo - 3232; /* convert to jis208 */ if(state[0] == Kanahi && r < JIS208MAX) r = tabjis208[r]; else if(state[0] == GBhi && r < GB2312MAX) r = tabgb2312[r]; else r = NONE; if(r == NONE) outprint("\\%.2ux\\%.2ux", state[1], c); else outrune(r); break; } }