首先,我向用户显示一个菜单,他们可以从中做出选择。 一旦他们做出选择,就会执行一些代码,我想再次向他们显示相同的菜单,以便他们可以做出不同的选择。
这是我到目前为止的代码:
//call the menu function and put it in a variable which will be used in the switch case statements
menu_selection = main_menu();
condition_main = true;
while (condition_main) {
switch (menu_selection) {
case 1: display(primes);
menu_selection = main_menu();
case 2: display(fibos);
menu_selection = main_menu();
case 3: display(primes_and_fibos);
menu_selection = main_menu();
case 4: display(primes_not_fibos);
menu_selection = main_menu();
case 5: display(fibos_not_primes);
menu_selection = main_menu();
case 6: search();
menu_selection = main_menu();
case 7: condition_main = false;
return 0; //this exits the program
default: cout << "\nThat is an invalid option. Please try again.\n\n";
}
}
然而,当我运行该程序时,似乎发生的情况是,如果我选择选项 1,它将执行代码并再次显示菜单,但如果我再次选择选项 1,它将运行为选项 2 设计的代码.我也尝试过 do while 循环,但根本不使用循环,似乎没有任何效果。感谢任何帮助,谢谢。
最佳答案
我同意,休息时间不见了。您可能需要考虑更像这样的代码结构:(我的格式不太好,因为我想要紧凑)
do {
menu_selection = main_menu();
switch (menu_selection) {
case 1 : display(primes); break;
case 2 : display(fibos); break;
case 3 : display(primes_and_fibos); break;
case 4 : display(primes_not_fibos); break;
case 5 : display(fibos_not_primes); break;
case 6 : search(); break;
case 7 : break;
default: cout << "\nThat is an invalid option. Please try again.\n\n";
} while (condition_main != 7);
return 0;
(当然,按照您喜欢的方式格式化。)这只需要对菜单功能进行一次调用,使维护更加容易。 return
也在函数的末尾,大多数人都希望在那里找到它。
关于c++ - 如何在 C++ 中循环执行再次要求输入的 switch-case 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15338209/