我正在设置我的 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;
此外,要使变量未定义,它会给我错误。我需要 maximum
和 minimum
是未定义的,所以如果用户没有超过 0,它不会说他们按下的最大数字是 0。有什么想法吗?
最佳答案
您需要了解流运算符的工作原理。 cin >> number
将希望您的输入是数字(就此而言是十进制)。如果你给它Q
,它不接受,也不会修改number
。
如果你希望你的输入既是数字又是字符串,你必须首先读取它是一个std::string
,检查字符串是否相等"q"
(NB - 作为字符串,在引号中,而不是作为字符!),如果不是,则将字符串转换为整数 - 在 C++11 中,您可以使用 std: :stoi
.
关于c++ - 不确定要更改什么才能让 char break 语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35372423/