繁体   English   中英

C ++开关语句结束菜单

[英]C++ switch statement ending the menu

嘿,我正在为我的C ++编程类开发一个Switch选择菜单。 我设法让我的菜单工作,但我不知道如何在我所做的菜单中的退出选择上停止程序。

我的代码是

#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;
}

更改

while (selection != 0)

至:

while (selection != '5')

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

int selection = 0;

do {

    cout << ...        
    cin >> selection;

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

        default:
            ...
    }

} while (selection != 5);

LihO和sharth有正确的解决方案,但如果想要在输入5时退出程序,那么我建议这样做:

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

它使程序退出,而不是稍后在代码中退出。

只需设置selection变量即可满足您必须退出循环的条件:

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM