在c ++中使用while循环创建一个简单的菜单

时间:2015-02-17 13:38:22

标签: while-loop

我正在尝试用c ++创建一个简单的程序来计算10个数字中的平均值,总和,最大值和最小值。我想允许用户单击4来停止程序。这是我需要帮助的代码的一部分:

void printOut(int max, int min, int avr)
{
    int run = true;
    short choice;

    while(run == true)
        {
    cout<<endl<<"1 = mean "<<endl;
    cout<<"2 = max/min "<<endl;
    cout<<"3 = sum "<<endl;
    cout<<"4 = quit "<<endl;
    cin >> choice;

    if (choice == 1)
    {
        cout<<endl<<"Mean = "<<avr<<endl;

    }
    else if (choice == 2)
    {
        cout<<endl<<"Max = "<<max<<endl<<"Min = "<<min<<endl;
    }
     else if (choice == 3)
    {
        cout<<endl<<"Sum = "<<sum<<endl;
    }
    else if (choice == 4)
    {
        run == false;
    }
    else
    {
        cout << "Error";
    }
        }
}

2 个答案:

答案 0 :(得分:0)

有一种非常简单明了的方法可以解决您的问题。只是 设置无限循环并使退出条件,直接在while语句中设置此条件。我在此代码段中使用了最后一种方法。

另外,我强烈建议您使用开关盒系统来控制输入。它会使你的代码更具可读性。

最后,您的代码应如下所示:

short choice;

while(choice != 4)
{
    ...
    cin >> choice;
    ...
    switch(choice)
    {
        ...
        case 4:
            cout << "Exit";
        ...
    }
}

答案 1 :(得分:-1)

您正在使用run ==而不是run =1 = declare2 == test。 另外,不要使用if(run==true)而只使用if(run),因为如果run为真,它将显示为true,反之亦然,只要它是bool 1}}。