c++ - 不确定要更改什么才能让 char break 语句

标签 c++ loops while-loop

我正在设置我的 while 循环,如果您输入“q”或“Q”,它应该会中断,唯一能让它工作的方法是将“number”设置为 char 而不是 int。如果我将它更改为 char,一切都会变得很古怪。这是它的样子。目前,如果我按“q”来中断,它会进入无限漫游

    int maximum = 0, sum = 0, odd = 0, even = 0, minimum = 0, count = 0;
    int number;
    char q, Q;


    while (1)
    {
        cout << "Enter a series of number, then type Q to process: "; cin >> number;

        if (number == 'q')
            break;

我需要它符合;

if (number == 'q' | | number == 'Q')
 cout << "No Numbers were pressed";
 break;

此外,要使变量未定义,它会给我错误。我需要 maximumminimum 是未定义的,所以如果用户没有超过 0,它不会说他们按下的最大数字是 0。有什么想法吗?

最佳答案

您需要了解流运算符的工作原理。 cin >> number 将希望您的输入是数字(就此而言是十进制)。如果你给它Q,它不接受,也不会修改number

如果你希望你的输入既是数字又是字符串,你必须首先读取它是一个std::string,检查字符串是否相等"q"(NB - 作为字符串,在引号中,而不是作为字符!),如果不是,则将字符串转换为整数 - 在 C++11 中,您可以使用 std: :stoi.

关于c++ - 不确定要更改什么才能让 char break 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35372423/

相关文章:

C: scanf 没有在无限循环中停止

javascript - while 循环要么崩溃要么不执行所需的操作 - 非常困惑

计算和打印矩阵对角线的总和

c++ - XAudio2 与 OpenAL 音量

c++ - 为什么重命名函数后出现链接器错误?

jquery ajax问题

.net - 逻辑帮助,可能与循环有关

javascript - 等待循环结束然后在 Javascript 中执行操作的最优雅的方法是什么?

c++ - 暂时禁用特定版本 GCC 的警告

c++ - 如何在纯 C++ 中从 MS word 文档文件中提取纯文本?