• Blog
  • Acerca
  • Autor
  • Contacto
  • Convertir segundos a horas, minutos y segundos

    Como les prometí en el post anterior, en este post vamos a hablar sobre un programa que usa los operadores compuestos de manera muy útil: convierte los segundos en horas minutos y segundos.

    El programa es este:

    #include <iostream>
    using namespace std;
     
    int main() 
    {
        int sec, hr, min;
        cout << "Introduce los segundos: "; cin >> sec;
        cout << sec << " segundos son ";
        hr = sec / (60*60);
        sec %= 60*60;
        min = sec / 60;
        sec %= 60;
        cout << hr << " horas " << min << " minutos y " << sec << " segundos" << endl;
    }

    Primero dividimos los segundos sec entre 60*60 (3600) para obtener los horas y lo guardamos en hr. Noten que la variable sec no cambia.

    Luego obtenemos el residuo de dividir sec / 60*60 (es lo que el operador % hace) y lo guardamos en la misma variable. En este paso sí modificamos la variable sec, ahora contiene los segundos iniciales menos las horas que ya obtuvimos en el paso anterior.

    Ahora dividimos nuevamente la variable sec / 60 para obtener los minutos y lo guardamos en hr. La variable sec no cambia.

    Luego obtenemos el residuo de dividir sec / 60 (es lo que el operador % hace) y lo guardamos en la misma variable. En este paso sí modificamos la variable sec, ahora contiene los segundos iniciales menos las horas menos los minutos.

    Ya sólo mostramos las tres variable y listo.

    Ahora, si somos de los que nos preocupamos por el lenguaje, veremos que a veces hay errores de ortografía como “1 minutos”. Para solucionar eso sólo necesitamos unos cuantos ifs:

    #include <iostream>
    using namespace std;
     
    int main() 
    {
        int sec, hr, min;
        cout << "Introduce los segundos: "; cin >> sec;
        cout << sec << " segundos son ";
        hr = sec / (60*60);
        sec %= 60*60;
        min = sec / 60;
        sec %= 60;
        cout << hr << " hora";
        if(hr != 1) cout << "s";
        cout << " " << min << " minuto";
        if(min != 1) cout << "s";
        cout << " y " << sec << " segundo";
        if(sec != 1) cout << "s";
    }
    1. daniel dice:

      k onda kn tu ejemplo esta super mega mal por 6 errores k t pasa haslos bien n seas baboso

    2. alfred dice:

      oie q onda xq al ejecutarlo solo m pide los segundos i despues ya se cierra?? q me falto??…….

    3. Hugo dice:

      Hola que tal tengo una duda, esto me puede servir para hacer ocnversion del sistema metrico decimal al sistema metrico ingles? obvio cambiando las declaraciones?

    4. gusi dice:

      me gustaria que alguien me esplicara esta ejercicio por que no lo se interpretar.
      a)3h 26′+ 96+1h 19′=pasarlo a horas y minutos

    5. DaN1 dice:

      Hola k tal me ayudo mucho tu ejemplo felicidades !! gracias :)

    6. missM dice:

      Hola.! oyee Para que se usa Cin???

    7. Nico Nas dice:

      buen aporte cuate… de veras muchas gracias.. me ayudo para una tarea…. segui cuate…. eres mega super.. saludos..

    8. Diana dice:

      Muy bueno el curso; estoy estudiando Ingenieria y realmente me ayudas mucho con el C, ya que es el lenguaje que enseñan en informatica. Muchas gracias, buenisimos los ejemplos de conversion. Te seguiré leyendo. Saludos desde Bariloche, en la Patagonia Argentina.

    9. ESTRELLA dice:

      HOLA OYE UNA PREGUNTA LA VARIABLE SEC QUE SIGNIFICA XFA AYUDAME ME URGE Y POR CIERTO ES UN BUEN EJEMPLO

    10. martin dice:

      que chido de tu programa

    11. cristhian dice:

      oye disculpa sabras como mostrar ese codigo pero en visual basic lo trate de transformar pero esta enredado

    12. Keisy dice:

      Buenas, paso para felicitarte por tu blog.
      Ofreces una gran ayuda.

    13. jose lopez dice:

      amigo gracias me sirvió tu explicación, lo programe en java sigue así

    14. Eli dice:

      Gracias!
      me fue super útil
      :D

    15. daniel dice:

      ola disculpa me puedes ayudar tengo que hacer uno similar pero que incluya años meses semanas y dias y claro tambien horas minutos y segundos

    16. Freddy de CRISTOJESUS EL REY dice:

      Muchas gracias!! me ayudo a comprender algunas cosas del programa como el trabajo de las librerias y otras cosas… gracias de verdad!! bendiciones!

    17. Danilo Cacoango dice:

      GRACIAS PANA YA SABE CUANDO SE CASE JJJ BIEN BIEN COMPAÑERO SIGA ADELANTE CONGRATULATION SOS UN GRANDE

    18. JESSY dice:

      ME MEDIO UTIL JEJEJE NO ES CIERTO SI ME SIRVIO TODO

    19. JESSY dice:

      EL VERDE NO ME GUSTA JEJEJE

    20. ll dice:

      EJERCICIOS CONDICIONALES PARTE 1
      1. Determinar si un número entero positivo es exactamente divisible por 5.
      2. Averiguar si dados dos números, uno es divisor de otro.
      3. Hacer un programa considerando el año actual donde considere a las personas según su año de nacimiento en qué etapa de su vida están, (niñez, adolescencia, juventud, adultez y senectud).
      4. Ingresar el número del mes y determinar cuántos días tiene el mes.
      5. Ingresar el día, mes y año en el formato numérico (2-11-2001), para luego mostrarlo el formato carácter (2 de Noviembre del 2001).
      6. Dada la duración en minutos de una llamada calcular el costo, considerando:
      a. Hasta tres minutos el costo es 0.50
      b. Por encima de tres minutos es 0.50 más 0.1*cada minuto adicional a los tres primeros
      7. Dado el monto de una compra calcular y mostrar el descuento considerando:
      a. El descuento es del 20% si el monto es mayor a 200 pesos
      b. El descuento es del 10% si el monto es mayor o igual a 100 pesos y menor o igual a 200 pesos
      c. No hay descuento si el monto es menor a 100 pesos
      8. El domingo de pascua es el primer domingo después de la primera luna llena posterior al equinoccio de primavera, y se determina mediante el siguiente cálculo sencillo:
      A= año % 19
      B=año %4
      C=año%7
      D=(19*A+24)%30
      E=(2*B+4*C+6*D+5)%7
      N=(22+D+E)
      Donde N indica el número de día del mes de marzo (si N es igual o menor que 31) o abril (si es mayor que 31). Construir un programa que determine las fechas de domingos de pascua.
      9. Convertir un dígito en su expresión alfabética. Es decir, si el usuario teclea el número 1, el programa deberá escribir el texto “Uno”.
      10. A un trabajador le descuentan de su sueldo el 5% si su sueldo es menor o igual a 1000. Por encima de 1000 y hasta 2000 el 10% y por encima de 2000 el 15%. Calcular el descuento y sueldo neto que recibe el trabajador dado su sueldo.

    21. antonio dice:

      ola nesecito por fa un algoritmo “dado un tiempo en segundos calcular cuantos segundos faltan para convertirse en minutos” que sea en pseint graxias por su ayuda

    22. juan dice:

      muy buen material excelente gracias me ayudastes bastante

    Hola, escribe aquí tu comentario: