Ver Mensaje Individual
  #1 (permalink)  
Antiguo 12/09/2014, 03:26
Avatar de anggiebs
anggiebs
 
Fecha de Ingreso: julio-2014
Ubicación: Madrid
Mensajes: 35
Antigüedad: 9 años, 11 meses
Puntos: 0
Pregunta Pasar de segundos a horas,minutos y segundos correspondientes.

Hola,el programa consiste en que el usuario introducirá un número de segundos y se mostrará a cuánto equivale ese número en horas,minutos y segundos.
He avanzado esto ,lo he probado con ciertos números como:
3601 segundos = 1h 0min 1 segundo.
7204 segundos = 2h 0min 4 segundos.
pero a la hora de probarlo con :
10806 debería de darme 3h 0min 6 segundos y me sale 2h 0min 6 segundos.

Creo que mi error es sencillo pero no lo veo :/ .Espero puedan ayudarme,gracias :) .

Código C++:
Ver original
  1. int s=0,horas=0,min=0;
  2. int aux;
  3.  
  4. cout << "Introduce los segundos:" ;
  5. cin >> s;
  6.  
  7. if(s>3600){
  8.         aux = s-3600;  
  9.         if(aux > 0){   
  10.             horas = 1;
  11.             if(aux % 60 == 0){  //Si es múltiplo de 60.
  12.                 min = aux/60;
  13.                 if(min >=60){
  14.                     horas++;
  15.                     min = 0;
  16.                 }
  17.                 s = 0;
  18.             }
  19.             else{  
  20.                 if(aux >60){
  21.                     s = aux % 60; //El resto de dividir entre 60 será s.
  22.                     aux = aux - s;
  23.                     min= aux/60;
  24.                     if(min >= 60){
  25.                         horas++;
  26.                         min=0;
  27.                     }
  28.                 }
  29.                 else{
  30.                     s=aux;
  31.                 }
  32.             }
  33.         }
  34.     }