请教关于输入异常的问题
int order = -1;while(order < 0 || order > 5) {/*想读入一个1-5之间的值,但如果输入字符传就会死循环;如下处理只能退出系统,能不能让程序能继续正常运行??*/
cout << "\n\t\t\t 请选择操作代码:";
cin >> order;
if(cin.fail()) {
exit(0);
}
}
百度的是把order改成char类型,但是我想问下还有没其他方法??

#include <iostream> using namespace std; int main( void ) { int order; while( !(cin>>order) ) { cin.clear(); cin.ignore( 1 ); } cout << order << endl; }