我如何在投入时间时设定界限

How do I make boundaries when inputting time?

本文关键字:时间 定界限      更新时间:2023-10-16

我现在正在输入一个程序,它需要我输入出发和到达的时间。我怎样才能使输入值必须在0:00和23:59之间?

现在我有

cout << "nnEnter the departure time on the first day of the trip : ";
cin >> departure_Time;
cout << "nnEnter the arrival time on the last day of the trip : ";
cin >> arrival_Time;

和我想让它们不能在边界之外的时间

尝试使用while循环来测试departure_Timearrival_Time是否在边界内。然后根据结果继续执行程序的其余部分,或者将用户重定向到开始处。

这可以通过多种方式实现。在不知道您计划如何使用数据的情况下,仅根据您提供的代码,这个示例应该说明while循环检查无效输入的能力。

int main()
{
    beginning:
    double departure_Time = 0.00, arrival_Time = 0.00;
    cout<<"nnEnter the departure time on the first day of the trip : ";
    cin>> departure_Time;
    cout<<"nnEnter the arrival time on the last day of the trip : ";
    cin>> arrival_Time;
    while (departure_Time < 0.00 || arrival_Time > 23.59) {
        cout<<"nnTry again...";
        cin.clear();
        cin.sync();
        goto beginning;
    }
    return 0;
}

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