问题描述:
如果我输入:
旅途时间:15分钟
first_train_time:1300 --->九点半
last_train_time:1500 --->三点钟
frequency_time:15分钟
要获得正确的输出,第一列从特定时间1300开始,并增加(frequency_time)直到指定的(last_train_time)。
第二列以(first_train_time + frequency_time + 2分钟)开头。
第三列以(first_train_time + 2 * frequency_time + 2 * 2分钟)开头。
第四列以(first_train_time + 3 * frequency_time + 3 * 2分钟)开头。
第五列以(first_train_time + 4 * frequency_time + 3 * 2分钟)开头。
输出应为:
col 1 col2 col3 col4 col5
1300 1317 1334 1351 1406
1315 1332 1349 1406 1421
1330 1347 1404 1421 1436
1345 1402 1419 1436 1451
1400 1417 1434 1451 1506
1415 1432 1449 1506 1521
1430 1447 1504 1521 1536
1445 1502 1519 1536 1551
1500 1517 1534 1551 1606
当我运行以下功能时,我得到了一些奇怪的结果(为什么 不会打印出1445,依此类推)。
cout<<"Enter the journey time (minutes) \n"
cin>>journey_time;
cout<<"Enter the first train time \n";
cin>>first_train_time;
cout<<"Enter the last train time \n";
cin>>last_train_time;
cout<<"Enter the frequency time \n";
cin>>frequency_time;
auto get_24hr = [](int minutes){ return (minutes/60)*100 + (minutes%60);};
auto get_minutes = [](int time_24){return (time_24/100)*60+ (time_24 % 100);};
for (int total_min_start= first_train_time; total_min_start <=last_train_time; total_min_start +=frequency_time)
{`
auto x = get_minutes(total_min_start);
cout<<get_24hr(x)<<" \t "<<get_24hr(x+journey_time+waiting)<<" \t "<<get_24hr(x (2*journey_time+2*waiting)) <<" \t "<<get_24hr(x+(3*journey_time+3*waiting))<<" \t "<<get_24hr(x+(4*journey_time+3*waiting))
}}
Wrong output :
1300 1317 1334 1351 1406
1315 1332 1349 1406 1421
1330 1347 1404 1421 1436
1345 1402 1419 1436 1451
1400 1417 1434 1451 1506
1415 1432 1449 1506 1521
1430 1447 1504 1521 1536
1405 1422 1439 1456 1511 -------> here the problem: it must be 1445, 1504 and so on
1420 1437 1454 1511 1526
1435 1452 1509 1526 1541
1450 1507 1524 1541 1556
1505 1522 1539 1556 1611
1520 1537 1554 1611 1626
1535 1552 1609 1626 1641
感谢您的帮助。