C++中判断输入的异常处理

来源:百度知道 编辑:UC知道 时间:2024/05/06 01:52:35
本人初学C++,有个问题不太会,请教下大家了!
#include<iostream>
using namespace std;
int main(void) {
int i;
string s;
float d;
cout<<"输入一个整数:";
cin>>i;
cout<<"输入一个字条符串:";
cin>>s;
cout<<"输入一个小数:";
cin>>d;
cout<<i<<endl
<<s<<endl<<d<<endl;
system("pause");
}
如上,如果我在第一次不输入一个整数,而是一个字符串,该程序就会崩掉。我该怎样处理这样的情况呢?
上程序中不是第一次要求输入一个整数吗?但我第一次如果输入一个"abcd",程序就会崩掉,我该加哪几句代码判断一下输入的是不是一个整数呢?请大家赐教了

//要确定输入的是否为有效类型,使用cin成员函数fail()确认:
int i;
cout<<"输入一个整数:";
cin>>i;
if(cin.fail()){
cout<<"输入非法数据!";
exit(0);//程序退出
}

#include <iostream>
#include <sstream> // 或者 <string>
using namespace std;

int main(void)
{
int i;
string s;
float d;

cout<<"输入一个整数:";
cin>>i;
cout<<"输入一个字条符串:";
cin>>s;
cout<<"输入一个小数:";
cin>>d;
cout<<i<<endl<<s<<endl<<d<<endl;
system("pause");

return 0; //
}

// 格式