C++ 我应该围绕这个语句进行什么类型的循环?
出于某种原因,我对应该围绕这个switch语句包装什么类型的循环感到非常困惑。如果我有下面的switch语句,并且我希望用户能够一直输入一个击键,直到它碰到其中一种情况,那么哪种类型的循环最适合用于此情况 谢谢C++ 我应该围绕这个语句进行什么类型的循环?,c++,C++,出于某种原因,我对应该围绕这个switch语句包装什么类型的循环感到非常困惑。如果我有下面的switch语句,并且我希望用户能够一直输入一个击键,直到它碰到其中一种情况,那么哪种类型的循环最适合用于此情况 谢谢 int input; cin >> input; switch( input ) { case 1: playgame(); break; case 2: loadgame(); br
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输入;
cin>>输入;
开关(输入)
{
案例1:
游戏();
打破
案例2:
loadgame();
打破
案例3:
多人游戏();
打破
案例4:
不能输入;
打破
}
我建议使用do while循环,因为您可以确保在退出之前至少执行一次循环。此外,由于您不知道用户可能在循环中迭代多少次,因此For循环是不合适的。缺少一些停止条件
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;
...
}
int输入=0;//养成初始化所有变量的习惯
布尔再次=真;
while(同样){//可以使用输入!=4(停止值)
cin>>输入;
...
案例4://幻数不好,可能对案例使用enum。
cout Any loop都可以。它们本质上是一样的。因为您希望用户至少选择一次,do while
可能在逻辑上是最好的,但是您可以让代码与for
和while
一起工作。根据您的描述,无限循环似乎是合适的:while(true){…}我尝试了while(true)出于某种原因,当我执行此操作并点击“4”时,它不会打印“谢谢,现在退出\n”.Pawel,我的想法完全相同。do-while循环对我来说最有逻辑意义,因为我总是至少执行一次此代码。也许这是我使用的条件,在do-while结束时你会建议什么条件?好的,我完全明白你的意思。它正在工作。谢谢你的帮助。如果我已经初始化了输入首先,我认为我能够解决这个问题。因此,我学到了一个很好的观点和教训。