programa que permita introducir dos horas
Publicado por shubi (6 intervenciones) el 28/10/2019 23:27:20
ayuda ):
Construir un programa que permita introducir dos horas, cada una incluyendo horas, minutos y segundos, utilizando el formato hh:mm:ss y calcule la diferencia en horas, minutos y segundos.
Se requiere que las horas sean válidas, es decir:
HH,MM,SS positivos; hh entre 00 y 23, MM entre 0 y 59 y SS entre 0 y 59. Si se lee con error, debe avisar y volver a pedir la hora.
Debe controlar que la segunda hora sea posterior a la primera. Si la primera hora es mayor a la segunda, debe avisar y volver a pedir la segunda hora.
Hora 1 . Hora 2 Diferencia
12:23:45 10:56:01 La diferencia es 0 hora(s), 36 13:00:01 minuto(s), 16 segundo(s).
67:3:23
Hora incorrecta!!!!
Escribe la hora correcta: 23:59:10 . La diferencia es 0 hora(s), 49 minuto(s), 47 segundo(s).
23:09:23
05:12:30 45:12:34 La diferencia es 6 hora(s), 47 minuto(s), 30 segundo(s).
Hora incorrecta!!!!
Escribe la hora correcta:
12:00:00
Construir un programa que permita introducir dos horas, cada una incluyendo horas, minutos y segundos, utilizando el formato hh:mm:ss y calcule la diferencia en horas, minutos y segundos.
Se requiere que las horas sean válidas, es decir:
HH,MM,SS positivos; hh entre 00 y 23, MM entre 0 y 59 y SS entre 0 y 59. Si se lee con error, debe avisar y volver a pedir la hora.
Debe controlar que la segunda hora sea posterior a la primera. Si la primera hora es mayor a la segunda, debe avisar y volver a pedir la segunda hora.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
#include <stdio.h> int diferencia; main() {
int H, M;
long S1, S2;
printf("Escribe la primera hora (formato hh:mm:ss): "); S1=segs1();
do {
printf("Escribe la segunda hora (posterior): ");
segundos2=segs2(); } while (S2<=S1);
diferencia=S1-S2;
H=diferencia/360;
M=diferencia/60;
printf("%d:%d:%d\n", H, M, diferencia);
}
float segs1() {
int H, M, S, error = 0; long total;
do {
scanf("%d:%d:%d", H, M, S); if (++error) {
printf("Hora incorrecta!!!!\n");
printf("Escribe la hora correcta: "); }
} while(!error); total=H*360; total+=(M*60+S); return total;
}
float segs2() {
int H, M, S, error = 0; long total;
do {
scanf("%d:%d:%d", H, M, S); if (++error) {
printf("Hora incorrecta!!!!\n");
printf("Escribe la hora correcta: "); }
} while(!error); total=H*360; total+=(M*60+S); return total;
}
Hora 1 . Hora 2 Diferencia
12:23:45 10:56:01 La diferencia es 0 hora(s), 36 13:00:01 minuto(s), 16 segundo(s).
67:3:23
Hora incorrecta!!!!
Escribe la hora correcta: 23:59:10 . La diferencia es 0 hora(s), 49 minuto(s), 47 segundo(s).
23:09:23
05:12:30 45:12:34 La diferencia es 6 hora(s), 47 minuto(s), 30 segundo(s).
Hora incorrecta!!!!
Escribe la hora correcta:
12:00:00
Valora esta pregunta


0