Dans cet exemple, vous apprendrez à calculer la différence entre deux périodes à l'aide d'une fonction définie par l'utilisateur.
Pour comprendre cet exemple, vous devez avoir la connaissance des sujets de programmation C suivants:
- C Fonctions définies par l'utilisateur
- C struct
- C Structure et fonction
- Structures et pointeurs C
Calculer la différence entre deux périodes
#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; )
Production
Entrez l'heure de début. Entrez les heures, les minutes et les secondes: 13 34 55 Entrez l'heure d'arrêt. Entrez les heures, les minutes et les secondes: 8 12 15 Décalage horaire: 13:34:55 - 8:12:15 = 5:22:40
Dans ce programme, l'utilisateur est invité à entrer deux périodes et ces deux périodes sont stockées respectivement dans les variables de structure startTime et stopTime.
Ensuite, la fonction differenceBetweenTimePeriod()
calcule la différence entre les périodes. Le résultat est affiché à partir de la main()
fonction sans le retourner (en utilisant la technique d' appel par référence ).