首页 文章

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

提问于
浏览
-1

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

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

    您可以使用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");
        }
    }
    

相关问题