C++;结束菜单的switch语句 我正在为我的C++编程课做一个开关选择菜单。我已经设法让我的菜单工作,但我不知道如何停止我在菜单中的退出选择程序

C++;结束菜单的switch语句 我正在为我的C++编程课做一个开关选择菜单。我已经设法让我的菜单工作,但我不知道如何停止我在菜单中的退出选择程序,c++,switch-statement,C++,Switch Statement,我的代码是 #include <iostream> using namespace std; int main() { char selection; do { cout << " IHCC Computer Science Registration Menu\n"; cout << " ====================================\n"; cout &

我的代码是

#include <iostream>
using namespace std;

int main()
{
    char selection;

    do
    {
        cout << "  IHCC Computer Science Registration Menu\n";
        cout << "  ====================================\n";
        cout << "  1.  Welcome to Computer Programming In C++\n";
        cout << "  2.  Welcome to Java Programming\n";
        cout << "  3.  Welcome to Android Programming\n";
        cout << "  4.  Welcome to iOS Programming\n";
        cout << "\n";
        cout << "  5.  Exit\n";
        cout << "  ====================================\n";
        cout << "  Enter your selection: ";
        cin >> selection;
        cout << endl;

        switch (selection)
        {
            case '1':
                cout << "Computer Programming In C++\n";
                cout << "\n";
                break;

            case '2':
                cout << "Java Programming\n";
                cout << "\n";
                break;
            case '3':
                cout << "Android Programming\n" ;
                cout << "\n";
                break;

            case '4':
                cout << "iOS Programming\n";
                cout << "\n";
                break;

            case '5':
                cout << "Goodbye.\n";
                break;

            default: cout <<selection << "is not a valid menu item.\n";

                cout << endl;
        }

    }while (selection != 0 );

    return 0;
}
#包括
使用名称空间std;
int main()
{
字符选择;
做
{
不能改变

致:


还请注意,当前方法仅读取单个字符。如果不希望数字位数更多,请根据第一个数字调用选择,请改为读取
int

int selection = 0;

do {

    cout << ...        
    cin >> selection;

    switch (selection) {
        case 1:
            ...
            break;
        ...
        case 5:
            cout << "Goodbye.\n";
            break;

        default:
            ...
    }

} while (selection != 5);
int-selection=0;
做{
cout>选择;
开关(选择){
案例1:
...
打破
...
案例5:

LihO和sharth是否有合适的解决方案,但是如果他们的想法是在输入5时退出程序,那么我建议在案例中这样做:

case '5':
  cout << "Goodbye.\n";
  return 0;
案例“5”:

cout只需设置
选择
变量,以满足您已经必须退出循环的条件:

case '5':
    cout << "Goodbye.\n";
    selection = 0;
    break;
案例“5”:

多谢了,现在确实可以运行了,程序现在运行得很好,但是当我输入23或43这样的数字时,它会从输入23中弹出2菜单,我想知道我该如何工作。一个更好的解决方案可能是说
do{done=false;//stuff案例5:在一个方法中有多个返回不是最佳做法。最好使用一个bool或int来退出条件语句。@jmstoker:只要你不做任何需要在每个返回路径上调用一些例程的坏事,这是完全有效和合理的解决方案。有在一个函数/方法中,多个<代码>返回语句是没有错的。@ LIHO我同意在这个小程序中没有太多的问题,但这不是一个好习惯。它可以使调试变得痛苦,因为在方法的中间可以忽略<代码>返回<代码>,并且可以忽略末尾的断点。
case '5':
  cout << "Goodbye.\n";
  return 0;
case '5':
    cout << "Goodbye.\n";
    selection = 0;
    break;