我现在正在输入一个程序,它要求我输入出发和到达时间。如何才能使输入值必须在0:00和23:59之间?
现在我有
cout << "\n\nEnter the departure time on the first day of the trip : ";
cin >> departure_Time;
cout << "\n\nEnter the arrival time on the last day of the trip : ";
cin >> arrival_Time;
我希望这样做不会超出界限。
答案 0 :(得分:0)
尝试使用while
循环来测试departure_Time
和arrival_Time
是否在范围内。然后根据结果移动到程序的其余部分或将用户重定向回到开始。
这可以通过多种方式实施。在不知道您打算如何使用数据的情况下,仅根据您提供的代码,此示例应说明while
循环检查无效输入的能力。
int main()
{
beginning:
double departure_Time = 0.00, arrival_Time = 0.00;
cout<<"\n\nEnter the departure time on the first day of the trip : ";
cin>> departure_Time;
cout<<"\n\nEnter the arrival time on the last day of the trip : ";
cin>> arrival_Time;
while (departure_Time < 0.00 || arrival_Time > 23.59) {
cout<<"\n\nTry again...";
cin.clear();
cin.sync();
goto beginning;
}
return 0;
}
这只是一个快速实现来说明这一点。我希望它有所帮助。