Mostrar la Hora al cabo de 1 segundo

Iniciado por Themegajordan, 6 Mayo 2016, 23:20 PM

0 Miembros y 1 Visitante están viendo este tema.

Themegajordan

Si es que pongo 59 en los datos de entrada de los segundos, no avanza solo me dice 60 en los segundos cuando deberia ser 00 en los segundos y los minutos deben avanzar una unidad lo mismo si pongo 59 en minutos

#include <iostream>
#include<conio.h>

using namespace std;

int Horas, Minutos, Segundos;

int main(){
cout << "Horas?: ";
cin >> Horas;

cout << "Minutos?: ";
cin >> Minutos;

cout << "Segundos?: ";
cin >> Segundos;

cout << endl;
if (Horas >= 0 && Horas <= 24){
cout << "Ahora Horas: " << Horas;
}
else {
cout << "Error de sintaxis.";
}
cout << endl;

if (Minutos >= 0 && Minutos <= 60){
cout << "Ahora Minutos: " << Minutos;
}
else{
cout << "Error de sintaxis.";
}
cout << endl;
if (Segundos >= 0 && Segundos <= 60){
cout << "Ahora segundos: " << Segundos + 1;
}
else{
cout << "Error de sintaxis.";
}

_getch();
return 0;
}

MAFUS

El sistema numérico de un ordenador no es sexagesimal por lo que no se pondrá a 0 cuándo llegue la cuenta a 60. Tampoco sabe que 60 segundos son un minuto. Todo eso tendrás que enseñárselo.

Por cierto: no puedes Horas no pueden ser 24, ni los minutos ni los segundos pueden ser 60.

Themegajordan

Entendí que las horas no pueden tomar el valor 24 y que los segundos no pueden ser 60 al igual que los minutos.

Pero no entendí lo de enseñarle; ¿Como podría?

Psdta: Recien estoy aprendiendo a programar.

MAFUS

Cuándo te decía enseñarle quería decir que debes programar todos los pasos.
Debes escribir las instrucciones necesarias para que cuándo el valor de los segundos lleguen a 60 se pongan a 0 y sumen 1 a los minutos; cuándo los minutos lleguen a 60 se pongan a 0 y sumen 1 a las horas; y que cuándo las horas lleguen a 24 se pongan a 0.
Veo que has visto los ifs, pues puedes hacerlo con esas instrucciones. Si has visto funciones más fácil lo tendrás aún.