爲什麼當用戶輸入多個字母時,控制檯會顯示「以米爲單位的道路多長時間」和「請輸入介於0到250之間的整數」。不止一次爲什麼在輸入字母時會多次循環?
例如,如果我輸入「ABC」,控制檯將顯示此:
多久米
ABC
請輸入一個整數,它是0和之間的道路250. 是多久米
請輸入一個整數,它有多長是米
道路250之間0和 道路請輸入一個整數,它有多長是米路250之間0和
while (!valid)
{
cout << "how long is the road in meters " << endl;
cin >> road;
valid = true;
if ((cin.fail()) || ((road > 250) || (road < 0)))
{
cin.clear();
cin.ignore();
cout << "Please enter an Integer which is between 0 and 250." << endl;
valid = false;
}
}
'numeric_limits :: max()'會比像'1000'這樣的怪異常數更好。只是因爲它不是一個更大的計劃,我們不應該寫得體面。 –
mszymborski
是的,那會更準確。 –