c++ - 在切换循环周期结束时未显示的游戏总数

标签 c++ loops switch-statement return-value

因此,对于我的一个项目,我应该为用户提供多种游戏供他们选择,他们可以根据需要玩多少次。他们一退出,程序就会显示玩过的游戏总数。

我已经完成了游戏的代码,我只是在单独处理菜单。出于某种原因,当我最后要求总数时,它没有输出任何东西。甚至不是我为整数设置的初始值。

非常感谢任何帮助!

#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 退出了程序,因此它不输出任何内容。 例如,您可以使用 bool 标志输出终止 while 循环,如下所示:

DEMO

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;
    }
}

关于c++ - 在切换循环周期结束时未显示的游戏总数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54809403/

相关文章:

c++ - C++中的装饰器模式

c# - 通过 foreach 为每个循环创建数据库连接会导致单步执行代码跳来跳去

javascript - 如何减少 Javascript 中的两个循环以提高效率

c - 使用 scanf 输入进行切换

c++ - CMake 不调用 FLEX/BISON

C++如何获取类中的特定对象

c++ - 为什么无法访问 new[]'d 数组的大小?

Python - 在并行字典中查找一个值的平均值

Java使用系统读入switch语句

java - switch 语句不显示正确答案