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

В този пример ще се научите да изчислявате разликата между два периода от време, използвайки дефинирана от потребителя функция.

За да разберете този пример, трябва да имате познанията по следните теми за програмиране на 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()функцията, без да се връща (като се използва повикване чрез референтна техника).

Интересни статии...