int main() { int menu; ListNode *head=NULL; setvbuf(stdout, NULL, _IONBF, 0); ListNode* init_bank = (ListNode*) malloc(sizeof(ListNode)); init_bank->bank = (Bank*) malloc(sizeof(Bank)); init_bank->bank->amount = 50000; init_bank->bank->name = NULL; head = add_to_list(head, init_bank); printf("============= Initial Bank =============== \n"); print_all_item(head); do { print_menu(); menu = input_menu(); switch (menu) { case 1: head = loan(head); break; case 2: head = repay(head); break; case 3: print_all_item(head); break; case 0: break; default: break; } printf("\n"); } while (menu != 0); //delete_list(head); free(head->bank); free(head); head = NULL; printf("Bye\n"); return 0; }
void cibyl_main_menu(void) { NOPH_List_t main_menu_list; NOPH_Display_t display = NOPH_Display_getDisplay(NOPH_MIDlet_get()); NOPH_Displayable_t cur = NOPH_Display_getCurrent(display); NOPH_CommandMgr_t cm = NOPH_CommandMgr_getInstance(); mm_args_t args; char buf[80]; main_menu_list = NOPH_List_new("Choose option", NOPH_Choice_IMPLICIT); snprintf(buf, 80, "Swap joysticks (now port %d)", ThePrefs.JoystickSwap ? 1 : 2); NOPH_List_append(main_menu_list, buf, 0); NOPH_List_append(main_menu_list, "Bind space to GAME_B", 0); NOPH_List_append(main_menu_list, "Bind RunStop to GAME_B", 0); NOPH_List_append(main_menu_list, "Bind Return to GAME_B", 0); NOPH_List_append(main_menu_list, "Bind other to GAME_B", 0); NOPH_List_append(main_menu_list, "Load from disk", 0); NOPH_List_append(main_menu_list, "Load from tape", 0); NOPH_Display_setCurrent(display, main_menu_list); /* Setup the callback args */ args.selected = 0; args.menu_list = main_menu_list; NOPH_CommandMgr_setList(cm, main_menu_list, main_menu_callback, &args); while(args.selected == 0) { NOPH_Thread_sleep(250); } if (args.selected == 2) input_menu(); NOPH_Display_setCurrent(display, cur); NOPH_delete(main_menu_list); }