【发布时间】:2016-05-18 22:08:45
【问题描述】:
我仍然是编程的初学者,我正试图弄清楚为什么这个循环不起作用。要求用户输入一个字符,我想我会检查该字符是否是三个正确字母之一。如果不是,他们可以重试,直到正确为止。至少是这样的想法。
char readOp()
{
char op;
do
{
cout << "Please choose desired operation: (a: add, m: multiply, s: squared)" << endl;
cin.ignore(); //I was getting double cout, this removed one of them.
op = cin.get();
} while (op != 'a' && op != 'm' && op != 's');
cout << "Got " << op << endl;
return op;
}
编辑以反映更改:我已经解决了一些问题,但我仍然无法让我的循环工作。现在的问题是循环不会在提供正确的字符后终止。
如果有什么不同,整个段就是一个 char 函数。
我错过了什么?我只是因为现在是 04:04 而感到疲倦吗?
【问题讨论】:
-
cout 语句在哪里结束?
-
@JayKumarR 对不起,我忘了在我的例子中添加它! :)
-
小改动后工作正常。请参阅ideone.com/nuRinO。
-
@Pang 结束双引号是什么意思?
-
@Pang 我现在明白你的意思,找到并修复了。干杯。