尝试验证数据时内部有些奇怪

问题描述 投票:0回答:1

我正在尝试在while循环中做些什么来验证数据!收到错误数据时应再次询问。但是,当错误的数据得到程序时,会再次跳过cin >> a;

循环

这里有两个验证码,我已经尝试过了:

第一个[Pic of console]

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());
c++ loops validation cin
1个回答
0
投票

如果用户输入的单词超过1个,将导致代码中的各行相互跳过。尝试使用cin代替getline

string input;
getline(cin, country);
© www.soinside.com 2019 - 2024. All rights reserved.