输入时间时如何设定界限?

时间:2014-03-13 05:37:28

标签: c++ validation time

我现在正在输入一个程序,它要求我输入出发和到达时间。如何才能使输入值必须在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;

我希望这样做不会超出界限。

1 个答案:

答案 0 :(得分:0)

尝试使用while循环来测试departure_Timearrival_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;
}

这只是一个快速实现来说明这一点。我希望它有所帮助。