<span style="white-space:pre"> </span>int i = 0;
while (true)
{
//system("cls");
cout<<"输入任意数字"<<endl;
double temp;
cin>>temp;
if (!cin)<span style="white-space:pre"> </span>//bad input
{
cout<<"输入有误"<<endl;
Sleep(5000);
break;
}
else
{
cout<<temp<<endl;
}
Sleep(100);
}
return 0;
<span style="font-size:14px;"><strong>输入数字<span style="color:#ff0000;">4554 、 325454654、 -111、a</span></strong></span>
得到结果分别为:
输入任意数字
4554
4554
输入任意数字
325454654
3.25455e+008
输入任意数字
-111
-111
输入任意数字
a
输入有误
Bad input 表示如果你输入的不是double类型,因为cin获取的是temp的值,而temp定义为double类型,即表示你输入的值不是double类型。
也就是说输入获取到的类型和预设的不一样。