【发布时间】:2014-03-05 09:26:55
【问题描述】:
我的程序的一部分:让用户输入一系列整数,然后将它们放入一个数组中。
int n=0;
cout<<"Input the number of data:";
cin>>n;
cout<<"Input the series of data:";
int a[50];
for(i=0; i<n; i++)
{
cin>>a[i];
}
然后,当用户输入错误的数据时,例如字符'a'或'b'。程序将进入无限循环。
如何捕捉错误的cin?如何清除缓冲区并让用户有机会再次输入正确的数据?
【问题讨论】:
-
请记住,输入(和输出)流可以在 boolean expressions 中使用,就像在
if语句中一样。
标签: c++ infinite-loop cin