#include
#include
#include
using namespace std;
在输入两个或者三个正整数的时候没问题,但是数日其他的时候虽然提示了错误,但是并不能cin>>input,而是直接跳出了循环并且显示了press any key to continue?求大神给我说一下哪里出了错~~
int main()
{
int out();
cout<<"请输入两个或者三个正整数a, b, [c],用空格隔开"<<endl;
out();
return 0;
}
int out()
{
unsigned int biggest(unsigned int a,unsigned int b,unsigned int c = 0);
unsigned int b;
char input;
vector a;
while(1)
{
while(cin>>b)
{
a.push_back(b);
}
if(a.size() == 2)
{
cout<<"max is "<<biggest(a[0], a[1])<<endl;
}
else if(a.size() == 3)
{
cout<<"max is "<<biggest(a[0], a[1], a[2])<<endl;
}
else
{
try
{
throw runtime_error("必须有两个或者三个数的输入!") ;
}
catch(runtime_error err)
{
cout<<err.what()<<endl;
cout<<"错误,是否重新输入? 请输入Y 或者N"<<endl;
cin>>input;
if(input == 'Y')
{
out();
}
else
{
return 0;
}
}
}
if(((a.size() == 2 )|| (a.size() == 3)))
{
break;
}
}
return 0;
}
unsigned int biggest(unsigned int a,unsigned int b,unsigned int c = 0)
{
if(a < b)
{
a = b;
}
if(a < c)
{
a = c;
}
return a;
}