我试图验证用户输入。如果用户输入除整数之外的任何内容,则应保留在While
循环中。但是,当我给节目一个" w"例如程序只是无休止地打印"请输入整数"我必须停止该计划。
int MAns1 = 0
while (!(cin >> MAns1))
{
cout << "\nPlease Enter An Integer: ";
cin.clear();
}
答案 0 :(得分:0)
因为您应该测试(cin >> MAns1)
,而不是!(cin >> MAns1)
。我会做这样的事情:
#include<iostream>
using std::cin;
using std::cout;
int main() {
int MAns1 = 0;
for (;;)
{
cout << "\nPlease Enter An Integer: ";
cin >> MAnsi;
// did the last read succeed?
if(!cin) {
// it did *not* succeed.
break;
}
}
}