C Програма для обчислення різниці між двома періодами часу

У цьому прикладі ви навчитеся обчислювати різницю між двома періодами часу за допомогою визначеної користувачем функції.

Щоб зрозуміти цей приклад, ви повинні знати такі теми програмування на С:

  • C Функції, визначені користувачем
  • С структура
  • C Структура та функції
  • C структури та вказівники

Обчисліть різницю між двома періодами часу

 #include struct TIME ( int seconds; int minutes; int hours; ); void differenceBetweenTimePeriod(struct TIME t1, struct TIME t2, struct TIME *diff); int main() ( struct TIME startTime, stopTime, diff; printf("Enter the start time. "); printf("Enter hours, minutes and seconds: "); scanf("%d %d %d", &startTime.hours, &startTime.minutes, &startTime.seconds); printf("Enter the stop time. "); printf("Enter hours, minutes and seconds: "); scanf("%d %d %d", &stopTime.hours, &stopTime.minutes, &stopTime.seconds); // Difference between start and stop time differenceBetweenTimePeriod(startTime, stopTime, &diff); printf("Time Difference: %d:%d:%d - ", startTime.hours, startTime.minutes, startTime.seconds); printf("%d:%d:%d ", stopTime.hours, stopTime.minutes, stopTime.seconds); printf("= %d:%d:%d", diff.hours, diff.minutes, diff.seconds); return 0; ) // Computes difference between time periods void differenceBetweenTimePeriod(struct TIME start, struct TIME stop, struct TIME *diff) ( while (stop.seconds> start.seconds) ( --start.minutes; start.seconds += 60; ) diff->seconds = start.seconds - stop.seconds; while (stop.minutes> start.minutes) ( --start.hours; start.minutes += 60; ) diff->minutes = start.minutes - stop.minutes; diff->hours = start.hours - stop.hours; )

Вихідні дані

Введіть час початку. Введіть години, хвилини та секунди: 13 34 55 Введіть час зупинки. Введіть години, хвилини та секунди: 8 12 15 Різниця в часі: 13:34:55 - 8:12:15 = 5:22:40

У цій програмі користувачеві пропонується ввести два періоди часу, і ці два періоди зберігаються у структурних змінних startTime і stopTime відповідно.

Потім функція differenceBetweenTimePeriod()обчислює різницю між періодами часу. Результат відображається з main()функції без її повернення (за допомогою виклику за допомогою контрольної техніки).

Цікаві статті...