我正在尝试在while循环中做些什么来验证数据!收到错误数据时应再次询问。但是,当错误的数据得到程序时,会再次跳过cin >> a;
这里有两个验证码,我已经尝试过了:
int a;
do
{
a = NULL;
cout << "Press some number: ";
cin >> a;
} while (a>=0 || a<=0);
第二个:[Pic of console]
int a;
do
{
cin.clear(); cin.sync();
cout << "give me number: "; cin >> a;
} while (cin.fail());
如果用户输入的单词超过1个,将导致代码中的各行相互跳过。尝试使用cin
代替getline
。
string input;
getline(cin, country);