In diesem Beispiel lernen Sie, die Differenz zwischen zwei Zeiträumen mithilfe einer benutzerdefinierten Funktion zu berechnen.
Um dieses Beispiel zu verstehen, sollten Sie die folgenden C-Programmierthemen kennen:
- C Benutzerdefinierte Funktionen
- C struct
- C Struktur und Funktion
- C Strukturen und Zeiger
Berechnen Sie die Differenz zwischen zwei Zeiträumen
#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; )
Ausgabe
Geben Sie die Startzeit ein. Geben Sie Stunden, Minuten und Sekunden ein: 13 34 55 Geben Sie die Stoppzeit ein. Geben Sie Stunden, Minuten und Sekunden ein: 8 12 15 Zeitunterschied: 13:34:55 - 8:12:15 = 5:22:40
In diesem Programm wird der Benutzer aufgefordert, zwei Zeiträume einzugeben, und diese beiden Zeiträume werden in den Strukturvariablen startTime bzw. stopTime gespeichert.
Dann differenceBetweenTimePeriod()
berechnet die Funktion die Differenz zwischen den Zeiträumen. Das Ergebnis wird von der main()
Funktion angezeigt, ohne es zurückzugeben (unter Verwendung der Call-by-Reference- Technik).