C ++菜单程序的入口错误检测器无效

时间:2016-04-26 01:02:26

标签: c++

我差不多已经完成了为最终项目提供多种用途的菜单。它是用空洞构建的,结构如下......

 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”时,我找不到将其重定向回菜单的方法。有什么帮助吗?

1 个答案:

答案 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");
    }
}