我差不多已经完成了为最终项目提供多种用途的菜单。它是用空洞构建的,结构如下......
do
{
menu (selection);
if (selection == 1)
{
system("CLS");
Program1();
system("Pause");
}
if (selection == 2)
{
system ("CLS");
Program2();
system("Pause");
}
等...
菜单需要的最后一件事是错误检测器。菜单有1-5选项,所以如果有人输入6,它会显示“无效输入”,然后询问用户是否要重新进入菜单。我遇到的问题是弄清楚如何去做。如果我将它设置为void,例如“void Invalid_Entry();”它不会让我在虚空中终止程序。如果我把它设置为..
“其他
{ cout<< “无效条目”<< ENDL;
cout<< “再试一次?(Y / N)”<< ENDL;
cin>>回答;“
}
..我可以使用return 0;来终止程序,但是当用户回答“Y”时,我找不到将其重定向回菜单的方法。有什么帮助吗?
答案 0 :(得分:0)
您可以将bool标志与while循环结合使用。
bool var_continue = false;
while (var_continue) {
menu(selection);
switch (selection) {
case 1:
system("CLS");
Program1();
system("Pause");
break;
case 2:
system("CLS");
Program2();
system("Pause");
break;
default:
cout << "invalid entry" <<endl;
cout << "try again? (Y/N)" << endl;
cin >> answer;
var_continue = (answer == "Y");
}
}