香河消费广场网络版:请教:C++中的返回问题?

来源:百度文库 编辑:高考问答 时间:2024/04/29 12:54:56
istream & operator >> (istream & is,Cat & cat)
{
char c;
cout<<"请输入猫的名字:";
cat.name=new char[20];
cin>>cat.name;
cout<<"颜色:";
cat.color=new char[20];
cin>>cat.color;
cout<<"重量:";
cin>>c;
if(!isdigit(c))
{
cout<<"请输入数字!"<<endl;;
return is;
}
else
cat.weight=(float)c;
cout<<"喜爱的食物:";
cat.food=new char[20];
cin>>cat.food;
return is;
}

程序中要求输入数字,当输入字符时,就终止了整个程序的运行。
请问:怎样作才能使程序遇到类似情况时,只出现一个提示(重新输入数字),而不影响程序往下执行?

在if语句外套一个while循环
自定义一个结束while循环的条件
这样就能控制输入了

不用if,用while循环