Programa C para calcular la diferencia entre dos períodos de tiempo

En este ejemplo, aprenderá a calcular la diferencia entre dos períodos de tiempo utilizando una función definida por el usuario.

Para comprender este ejemplo, debe tener el conocimiento de los siguientes temas de programación en C:

  • C Funciones definidas por el usuario
  • Estructura C
  • C Estructura y función
  • Estructuras y punteros C

Calcular la diferencia entre dos períodos de tiempo

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

Salida

Ingrese la hora de inicio. Ingrese horas, minutos y segundos: 13 34 55 Ingrese la hora de finalización. Ingrese horas, minutos y segundos: 8 12 15 Diferencia horaria: 13:34:55 - 8:12:15 = 5:22:40

En este programa, se le pide al usuario que ingrese dos períodos de tiempo y estos dos períodos se almacenan en las variables de estructura startTime y stopTime respectivamente.

Luego, la función differenceBetweenTimePeriod()calcula la diferencia entre los períodos de tiempo. El resultado se muestra desde la main()función sin devolverlo (usando la técnica de llamada por referencia ).

Articulos interesantes...