首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

求先辈指导

2012-08-09 
求前辈指导#include iostreamconst int SIZE 7int fill_array(int ar[],int size)using namespace s

求前辈指导
#include "iostream"
const int SIZE = 7;
int fill_array(int ar[],int size);
using namespace std;
int main(){
int array[SIZE];
fill_array(array,SIZE);
return 0;
}

int fill_array(int ar[],int size){
int count =0;
for(int i = 0;i<size;i++){
cout<<"Enter value # "<<i+1<<": ";
cin>>ar[i];
if (isalpha(ar[i])){
cout<<"Please input a number!!!"<<endl;
cin>>ar[i];
}
++count;
}
return count;
}
为什么在fill_array函数中,当输入的字符是字母时,提示用户输入一个数字那边总是异常终止呢?谢谢前辈们啦

[解决办法]
你输入的不是数字的时候,cin流的状态变成了失败的状态了。你需要手动恢复了。
if (cin.fail())
{
cin.clear();
cin.sync();
}

热点排行