English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

C 语言基础教程

C 语言流程控制

Fonctions en C

Tableaux en C

Pointeurs en C

Chaines de caractères en C

C 语言结构体

C 语言文件

C 其他

C 语言参考手册

C程序计算两个时间段之间的差

Collection complète d'exemples de programmation en C

在此示例中,您将学习使用用户定义的函数来计算两个时间段之间的差。

要理解此示例,您应该了解以下C语言编程主题:

计算两个时间段之间的差异

#include <stdio.h>
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("Saisir l'heure de début. \n");
   printf("Saisir les heures, minutes et secondes: ");
   scanf("%d %d %d", &startTime.hours,
         &startTime.minutes,
         &startTime.seconds);
   printf("Saisir l'heure d'arrêt. \n");
   printf("Saisir les heures, minutes et secondes: ");
   scanf("%d %d %d", &stopTime.hours,
         &stopTime.minutes,
         &stopTime.seconds);
   //Différence entre l'heure de début et l'heure d'arrêt
   differenceBetweenTimePeriod(startTime, stopTime, &diff);
   printf("\nDélai d'heure: %d:%d:%d - ", startTime.hours,
          startTime.minutes,
          startTime.seconds);
   printf("%d:%d:%d ", stopTime.hours,
          stopTime.minutes,
          stopTime.seconds);
   printf("= %d:%d:%d\n", diff.hours,
          diff.minutes,
          diff.seconds);
   return 0;
}
//Calculer la différence entre les périodes de temps
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;
}

Résultat de sortie

Saisir l'heure de début:
Saisir les heures, minutes et secondes: 12
34
55
Saisir l'heure d'arrêt:
Saisir les heures, minutes et secondes: 8
12
15
Délai d'heure: 12:34:55 - 8:12:15 = 4:22:40

Dans ce programme, l'utilisateur est invité à entrer deux périodes de temps et ces deux périodes sont stockées respectivement dans les variables structurées startTime et stopTime.

Ensuite, la fonction differenceBetweenTimePeriod() calcule la différence entre les périodes de temps. Affiche les résultats à partir de la fonction main() sans la renvoyer (en utilisantAppel de référenceTechnologie).

Collection complète d'exemples de programmation en C