ここにコードがあります
double enter_number()
{
double number;
while(1)
{
cin>>number;
if(cin.fail())
{
cin.clear();
cin.ignore(numeric_limits<streamsize>::max(), '\n');
cout << "Invalid input " << endl;
}
else
break;
cout<<"Try again"<<endl;
}
return number;
}
私の問題は、1x のようなものを入力すると、別の実行のために除外された文字に気付かずに 1 が入力として取得されることです。1.8 などの実数で動作させる方法はありますか?