因此,对于我的一个项目,我应该为用户提供多种游戏供选择,可以多次玩他们想要的游戏。一旦退出,程序应显示所玩游戏的总量。
我有完成游戏的代码,我只是单独在菜单上工作。出于某种原因,当我在最后调用总数时,它不会输出任何内容。甚至不是我为整数放置的初始值。
任何帮助深表感谢!
#include <iostream>
using namespace std;
int main() {
int totalGames = 0;
while (true) {
int gameChoice;
cout << "Which game would you like to play?\n\n";
cin >> gameChoice;
switch (gameChoice)
{
case 1 :
cout << "You chose option 1";
totalGames++;
break;
case 2 :
cout << "You chose option 2";
totalGames++;
break;
case 3 :
cout << "You chose option 3";
totalGames++;
break;
case 4 :
return false;
break;
default:
cout << "Invalid Option";
break;
}
}
cout << "Total games: " << totalGames << endl;
return 0;
}
正如评论和@MichaelVeksler中已经建议的那样,案例4退出程序,因此它不会输出任何内容。例如,您可以使用布尔标志输出终止while循环,如下所示:
bool doContinue = true; // flag
while (doContinue)
{
int gameChoice;
cout << "Which game would you like to play?\n\n";
cin >> gameChoice;
switch (gameChoice)
{
case 1 :
cout << "You chose option 1";
totalGames++;
break;
case 2 :
cout << "You chose option 2";
totalGames++;
break;
case 3 :
cout << "You chose option 3";
totalGames++;
break;
case 4 :
doContinue = false;
break;
default:
cout << "Invalid Option";
break;
}
}
问题在于:
case 4 :
return false;
在到达打印声明之前退出程序。