我正在编写一个应该只接受整数的程序,我目前正在使用
int x;
cin >> x;
while(cin.fail()){
cout << "error, please enter an integer" << endl;
cin.clear();
cin.ignore();
cin >> z;
cout << "you entered" << z << endl;
}
但是,如果我输入双精度,例如 1.2,程序将忽略小数点,但将 z 的值设置为 2,并且不请求用户输入。我能做些什么来阻止这种情况?