整数のみを受け入れることになっているプログラムを書いています、私は現在使用しています
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のdoubleを入力すると、プログラムは小数点を無視しますが、zの値を2に設定し、ユーザー入力を要求しません。これを止めるにはどうすればよいですか?