我应该围绕这个语句进行什么类型的循环

What type of loop would I wrap around this statement?

本文关键字:什么 类型 循环 语句 我应该      更新时间:2023-10-16

由于某种原因,我对应该围绕这个switch语句包装什么类型的循环感到非常困惑。如果我有下面的switch语句,并且我希望用户能够继续输入键击,直到它碰到其中一种情况,那么哪种类型的循环最适合用于此操作?

谢谢,

int input;
cin >> input;
    switch( input )
{
    case 1:
        playgame();
        break;
    case 2:
        loadgame();
        break;
    case 3:
        Multiplayer();
        break;
    case 4:
        cout << "Thanks, exitting now n";
        break;
    default:
        cout << "error n";
        cin >> input;
        break;
}

缺少一些停止条件。

int input = 0; // make a habit of initialising all variables
bool again = true;
while(again) { // could use input != 4 (stop value)
cin >> input;
...
case 4: // magic numbers are bad, maybe use enum for the cases.
    cout << "Thanks, exiting now n";
    again = false; // <----- else you wont get out.
    break;
...
}

我建议使用do while循环,因为您可以确保循环在退出之前至少执行了1次完整时间。此外,由于您不知道用户可能在循环中迭代多少次,因此For循环是不合适的。