【发布时间】:2016-03-01 09:40:59
【问题描述】:
我希望程序循环直到输入有效(x 是一个 int,并且 x>0),但是当我给它 1,1 时我的程序接受输入并且当我给它一个字符串时无限循环,重复“输入错误!”。
#include <iostream>
using namespace std;
int main()
{
bool fail;
int x;
do{
cin >> x;
fail=(cin.fail() || x<=0);
if (fail){
cout << "Wrong input!" <<endl;
cin.clear();
};
}while(fail);
return 0;
}
【问题讨论】: