您好,我想检查我的程序,如果用户输入了不是数字的东西而不是输入数字。
所以我做了这个功能
void ValidationController::cinError(int *variable){
if(!isdigit(*variable)){
cin.clear();
cin.ignore(256, '\n');
cout <<*variable<<endl;
*variable=0;
cout <<*variable<<endl;
}
}
我这样调用函数:
int more;
cin >>more;
cinError(&more);
所以我的问题是,每次我给一个数字时,它的行为就像我没有。它进入 if 并使变量等于零。我在这里缺少什么?