C Ohjelma kahden ajanjakson välisen eron laskemiseksi

Tässä esimerkissä opit laskemaan kahden ajanjakson välisen eron käyttäjän määrittämällä toiminnolla.

Tämän esimerkin ymmärtämiseksi sinulla on oltava tieto seuraavista C-ohjelmointiaiheista:

  • C Käyttäjän määrittelemät toiminnot
  • C rakenne
  • C Rakenne ja toiminta
  • C-rakenteet ja osoittimet

Laske ero kahden ajanjakson välillä

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

Tuotos

Anna aloitusaika. Syötä tunnit, minuutit ja sekunnit: 13 34 55 Anna lopetusaika. Syötä tunnit, minuutit ja sekunnit: 8 12 15 Aikaero: 13:34:55 - 8:12:15 = 5:22:40

Tässä ohjelmassa käyttäjää pyydetään syöttämään kaksi ajanjaksoa ja nämä kaksi jaksoa tallennetaan rakennemuuttujiin startTime ja stopTime vastaavasti.

Sitten toiminto differenceBetweenTimePeriod()laskee ajanjaksojen välisen eron. Tulos näytetään main()funktiosta palauttamatta sitä (käyttäen kutsua referenssitekniikalla ).

Mielenkiintoisia artikkeleita...