Программа C, которая дает продолжительность полета в часах: минутах, зная время вылета и прибытия.

а. Отправление и прибытие считаются в один и тот же день.

Часть else в if(минута_отправления ‹ минута_прибытия)' подразумевает, что минута прибытия меньше минуты отправления.
/*else{< br /> час_полета = (час_прилета - час_отправления) -1;
минута_полета=минута_прилета -минута_отправления + 60;
}
*/
Если минута прибытия меньше минуты отправления, то 'arrival_minute -depart_minute' становится отрицательным, поэтому нам нужно удалить 60 минут из 'flight_hour' (arrival_hour -depart_hour), то есть час, почему мы вычли 1

Другая часть 'if(час_отправления ‹ час_прибытия)' означает, что час прибытия меньше часа отправления.
/*else{< br /> printf("\n Ошибка введено неправильное время");
}
*/
Отображает сообщение об ошибке, поскольку час отправления не может быть больше заданного часа прибытия что вопрос говорит, что это должно быть в тот же день.

Вы по-прежнему можете удалить условие "if(час_отправления ‹ час_прибытия)", что приведет ни к чему другому, но мы будем использовать "делать, пока" что гарантирует, что пользователь не введет час отправления, превышающий час прибытия.

do{
printf("Введите час и минуту отправления\n");
scanf("%d %d", &dh, &dm);
printf("\nВведите час и минута прибытия\n”);
scanf(“%d %d”, &ah, &am);
while(час_отправления › час_прибытия);

б. Предполагается, что время полета составляет менее 24 часов, но может состояться на следующий день.

Часть b такая же, как и часть A, с той разницей, что рейс может состояться на следующий день. Итак, я объясню еще часть «if(час_отправления ‹ час_прибытия)». Это та часть, которая рассматривает условие, что это произошло в течение 24 часов, но произошло на следующий день.

Если это произошло на следующий день, это означает, что час отправления должен быть больше, чем час прибытия. в этом случае «час_прибытия -час_отправления» становится отрицательным. Таким образом, мы добавляем 24 часа, чтобы получить точное количество часов, потраченных на полет, учитывая, что они не являются отрицательными часами.

Это тот случай, когда минута отправления меньше минуты прибытия
/*if(dm‹am)
{
fh=ah-dh + 24;
fm =am-dm;
}*/

если минута прибытия меньше минуты отправления, то "минута_прилета -минута_отправления" становится отрицательной, и поэтому нам нужно удалить 60 минут из "часа_полета"' (arrival_hour -depart_hour), то есть час, из-за которого мы вычли 1
/*if(dm‹am)
{
fh= ah-dh + 24 –1;
fm=am-dm;
}*/
Таким образом, вместо +24 у нас +23.

Если у вас есть другие проблемы, вы хотите, чтобы исходный код C вы могли прокомментировать, и я напишу это для вас.