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

Tutorial básico de linguagem C

Controle de fluxo de linguagem C

Funções no C

Matrizes no C

Ponteiro no C

String no C

Estruturas de linguagem C

Arquivos de linguagem C

Outros C

Manual de referência do C

Programa C que calcula a diferença entre dois períodos de tempo

大全 de Exemplos de Programação no C

Neste exemplo, você aprenderá a usar funções definidas pelo usuário para calcular a diferença entre dois períodos de tempo.

Para entender este exemplo, você deve conhecer o seguinteProgramação em CTema:

calcular a diferença entre dois períodos de tempo

#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("Insira o tempo de início. 
");
   printf("Insira horas, minutos e segundos: ");
   scanf("%d %d %d", &startTime.hours,
         &startTime.minutes,
         &startTime.seconds);
   printf("Insira o tempo de parada. 
");
   printf("Insira horas, minutos e segundos: ");
   scanf("%d %d %d", &stopTime.hours,
         &stopTime.minutes,
         &stopTime.seconds);
   //Diferença entre o tempo de início e o tempo de parada
   differenceBetweenTimePeriod(startTime, stopTime, &diff);
   printf("\nDiferença de horário: %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;
}
//calcular a diferença entre períodos de tempo
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;
}

Resultados de saída

Insira o tempo de início.
Insira horas, minutos e segundos: 12
34
55
Insira o tempo de parada.
Insira horas, minutos e segundos: 8
12
15
Diferença de horário: 12:34:55 - 8:12:15 = 4:22:40

Neste programa, o usuário é solicitado a inserir dois períodos de tempo e esses períodos são armazenados separadamente nas variáveis de estrutura startTime e stopTime.

Então, a função differenceBetweenTimePeriod() calcula a diferença entre os períodos de tempo. Mostra o resultado do main() sem retorná-lo (usandoChamada de ReferênciaTecnologia)。

大全 de Exemplos de Programação no C