первый спасибо смотреть. я попытался взять вход (час, минута, секунда, продолжительность (секунды)) и конвертировать все в общий час прибытия.Время игры (часы, минуты, секунды)
У меня возникла проблема, когда я ввожу эти цифры: «23 59 59 10801». то, что я ожидаю получить, - «время прибытия -> 3 0 0» , но на самом деле я ничего не получаю.
(каждый другой положительный номер работает просто отлично ...) спасибо за помощь, извините, если мой код - полный беспорядок. :)
int h = 0, m = 0, s = 0, time = 0, ih = 0, im = 0, is = 0;
printf("please enter 4 digits\n");
scanf("%d %d %d %d", &h, &m, &s, &time);
if ((((h<=23)&&(h>0)) && ((m<=59) && (m>0)) && ((s<=59) && (s>0))) && (time > 0))
{
// hour loop
while (time >= 3600) {
++ih;
time = (time - 3600);
// minute loop
while ((time < 3600) && (time != 0)) {
++im;
time = (time - 60);
// second loop
while ((time <= 60) && (time != 0)) {
++is;
time = (time - 1);
}
}
}
h = (h + ih);
m = (m + im);
s = (s + is);
if (h >= 24) {
h = ((h * 0) + ih-1);
}
if (m = 60) {
m = (m * 0);
++h;
}
if (s = 60) {
s = (s * 0);
++m;
}
printf("\nwe are happy to annonce that:\n\nyour arival time will be at : %d %d %d\n\n\nhave a nice day!\n\n\n\n", h, m, s);
}
else printf("\nwrong value my friend!\n\n");
return 0;
}
Столько скобок! Изучите таблицу приоритетов операторов! – Bathsheba
Не могли бы вы объяснить более подробно? Что означает '23 59 59 10801'? Отформатирована ли '10801' некоторая дата? – szczurcio
@szczurcio Да, 10801 (секунды) - 3 часа, 1 сек. 23:59:59 + 3 hors и 1 sec должны получить меня 3:00:00. – MoZZ