为什么当用户输入多个字母时,控制台会显示“以米为单位的道路多长时间”和“请输入介于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
是的,那会更准确。 –