Código:
Hola y gracias de antemano.int main() { //Declaración de variables int liHoras1, liMinutos1, liSegundos1, liHoras2, liMinutos2, liSegundos2, liHorasTotal, liMinutosTotal, liSegundosTotal; //Entrada de datos printf("Ingrese el tiempo #1 (HH:MM:SS): "); scanf("%d:%d:%d", &liHoras1, &liMinutos1, &liSegundos1); printf("Ingrese el tiempo #2 (HH:MM:SS): "); scanf("%d:%d:%d", &liHoras2, &liMinutos2, &liSegundos2); //Procesamiento liHorasTotal = liHoras1 + liHoras2; liMinutosTotal = liMinutos1 + liMinutos2; liSegundosTotal = liSegundos1 + liSegundos2; do { liMinutosTotal = liMinutosTotal - 60; liHorasTotal = liHorasTotal + 1; } while (liMinutosTotal >= 60); if (liSegundosTotal >= 60) { liSegundosTotal = liSegundosTotal - 60; liMinutosTotal = liMinutosTotal + 1; } //Salida de datos printf("\nResultado: %d:%d:%d\n", liHorasTotal, liMinutosTotal, liSegundosTotal); return 0; }
Mi código funciona pero, cuando los minutos son altos (ejemplo 200 minutos) se debe hacer algo. Lo único que se me ocurrió fue hacerlo con DO, WHILE para que le valla restando 60 cada vez que se pueda.
La pregunta es: es correcto esto, o hay otra solución usando IF?.
Estoy algo perdido, espero puedan ayudarme.
Gracias!.