我的输出是: a)102航班b)311航班c)航班444 d)航班519 e)退出计划 a 欢迎乘坐102航班 a)显示空座位数b)显示空座位列表c)按字母顺序显示座位列表d)将乘客分配给座位e)删除座位分配f)Quittotopmenu a)显示空座位数b)显示空座位列表c)按字母顺序显示座位列表d)将乘客分配给座位e)删除座位分配f)Quittotopmenu f a)航班102 b)航班311 c)航班444 d)航班519 e)Quitprogram a)显示空座位数b)显示空座位列表c)按字母顺序显示座位列表d)将乘客分配给座位e)删除座位分配f) Quittotopmenu
解决方案scanf()statem之后主菜单&子菜单,放置 getchar(); 或 fflush(stdin); 。然后,您的代码将根据您的要求完美地运行。
i am doing an airplain seat booking system. Here I have a main menu of chooseflight() and submenu of printmenu(). Whenever I press 'f' from printmenu's options I should return to mainmenu. But I cannot. Please help me!
int main() { chooseflight(); fflush(stdin); return 0; } void chooseflight(void) { char selectflight; printf("a) Flight 102 b) Flight 311 c) Flight 444 d) Flight 519 e)Quitprogram\n"); scanf("%c",&selectflight); switch(selectflight) { case 'a': puts("Welcome to flight 102 service"); while(1){ printmenu102(); } break; case 'b': puts("Welcome to flight 311 service"); while(1){ printmenu311(); break; } case 'c': puts("Welcome to flight 444 service"); while(1){ printmenu444(); } break; case 'd': puts("Welcome to flight 519 service"); while(1){ printmenu519(); } break; case 'e': Quitprogram(); break; } } void printmenu102() { char lablename; printf("a) Show number of empty seats b) Show list of empty seats c)Show alphabetical list of seats d) Assign a passenger toa seat e)Delete a seat assignment f) Quittotopmenu\n"); scanf("%c",&lablename); switch(lablename) { case 'a': Noofemptyseats102(); break; case 'b': Listofemptyseats102(); break; case 'c': Alphabeticallistofseats102(); break; case 'd': Assingseats102(); break; case 'e': Deleteseats102(); break; case 'f': Quittotopmenu(); break; } } void Quitprogram(void) { exit(EXIT_FAILURE); } void Quittotopmenu(void) { chooseflight(); }My output is: a) Flight 102 b) Flight 311 c) Flight 444 d) Flight 519 e)Quitprogram a Welcome to flight 102 service a) Show number of empty seats b) Show list of empty seats c)Show alphabetical list of seats d) Assign a passenger toa seat e)Delete a seat assignment f) Quittotopmenu a) Show number of empty seats b) Show list of empty seats c)Show alphabetical list of seats d) Assign a passenger toa seat e)Delete a seat assignment f) Quittotopmenu f a) Flight 102 b) Flight 311 c) Flight 444 d) Flight 519 e)Quitprogram a) Show number of empty seats b) Show list of empty seats c)Show alphabetical list of seats d) Assign a passenger toa seat e)Delete a seat assignment f) Quittotopmenu
解决方案 Hi, After scanf() statement in main menu & submenu, place getchar(); or fflush(stdin);. Then your code will work perfectly as per your requirement.更多推荐
调用主菜单显示子菜单
发布评论