Program C pentru a calcula diferența dintre două perioade de timp

În acest exemplu, veți învăța să calculați diferența dintre două perioade de timp utilizând o funcție definită de utilizator.

Pentru a înțelege acest exemplu, ar trebui să aveți cunoștințele următoarelor subiecte de programare C:

  • C Funcții definite de utilizator
  • C struct
  • C Structura și funcția
  • C structuri și indicatoare

Calculați diferența dintre două perioade de timp

 #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; )

Ieșire

Introduceți ora de începere. Introduceți ore, minute și secunde: 13 34 55 Introduceți ora de oprire. Introduceți ore, minute și secunde: 8 12 15 Diferența de timp: 13:34:55 - 8:12:15 = 5:22:40

În acest program, utilizatorul este rugat să introducă două perioade de timp și aceste două perioade sunt stocate în variabilele de structură startTime și respectiv stopTime.

Apoi, funcția differenceBetweenTimePeriod()calculează diferența dintre perioadele de timp. Rezultatul este afișat din main()funcție fără a o returna (folosind tehnica apelului prin referință ).

Articole interesante...