64,682
社区成员
发帖
与我相关
我的任务
分享
bool GetLegalInt(int &rival)
{
bool flag = true;
char ch;
char chs[10];
int num = 0;
for(; ;)
{
cin>>ch;
if(ch == '!') //在这里做了一个结束输入结束标志,为了实现你的目的确实有些麻烦了
break;
if('0' <= ch && ch <= '9') //合法的数值型字符才进入数组chs
{
chs[num++] = ch;
}
else //否则直接返回false
{
rival = -1;
return false;
}
}
//程序能执行到这一步说明已经chs中都是数值型字符了
chs[num] = '\0'; //最后要加一个这玩意
rival = atoi(chs);
return flag;
}