新人求助,怎么让程序在输入的类型不正确时给出提示
#include<iostream>int main()
{
using namespace std;
int i,n;
while(cin>>n)
{
int all=1;
for(i=1;i<=n;i++)
{
all*=i;
}
cout<<all<<endl;
}
return 0;
}
n的类型为int,怎样让程序在我输入一个char类型的值时判断并提示报错,代码里应该加入什么?或者怎么改?求助各位大神
程序代码:#include <iostream>
#include <limits>
int main()
{
using namespace std;
cout << "请输入一系列自然数:\n";
for( unsigned int n; cin>>n, !cin.bad() && !cin.eof(); )
{
if( cin.fail() || n==0 )
{
cin.clear();
cin.ignore( std::numeric_limits<streamsize>::max(), '\n' );
cout << "输入错误\n";
continue;
}
unsigned factorial = n;
for( unsigned i=1; i!=n; ++i )
factorial *= i;
cout << n << "! = " << factorial << endl;
}
return 0;
}






