首页 > 解决方案 > 当 bool 为真时我应该在哪里做

问题描述

我编写了一个程序,它输出相当于用户在控制台中写入的数字等级的名称。

1 失败

2 满意

3 好

4 非常好

5 优秀

现在我想问用户他是否想在第一次运行后继续输入成绩,

例如

输入等级 -> 5 优秀 您要继续输入等级吗?1 - 是/ 0 - 否

当 bool 为真时,我不知道在哪里放置 do ..

int main()
{
    int grade;


        do
        {
            cout << "input your grade: \n";
            cin >> grade;

            if (grade < 1 || grade > 5)
            {
                cout << "input grade again!\n";
            }



        } while (grade < 1 || grade > 5);



        switch (grade)
        {
        case 1:
            cout << "fail\n";
            break;

        case 2:
            cout << "satisfactory\n";
            break;

        case 3:
            cout << "good\n";
            break;

        case 4:
            cout << "very good\n";
            break;

        case 5:
            cout << "excellent\n";
            break;



        }

    return 0;
}

标签: c++

解决方案


您只需要另一个do-while 语句即可进行重复的过程。我已经初始化了一个名为(始终进行初始化以避免未定义的行为和难以跟踪的错误)char的变量,以在每次迭代中检查用户想要什么(继续或结束程序)userChoice

//previous codes...
char userChoice = 'n';
do{
    // previous codes which you want to be repeated
    std::cout << "\nDo you want to continue ? (y = Yes, n = No ) "; // ask the user to continue or to end
    std::cin >> userChoice; // store user's input in the userChoice variable

}while(userChoice); // if user's input is 'y' then continue with next iteration
//rest of the code...

另外,为什么“使用命名空间标准”被认为是不好的做法?


推荐阅读