[ Foro de C++ ]
hola, necesito que me ayuden para desarrolar un codigo de relor de 24hras
las epecificaciones que me dieron son estas:
- que el usuario ingreseentre un rango de la hora y minuto correctos (si no son correctos, que ponga que nos incorrectos y que el programa se reinicie en el area de poner la hora y minuto)
-que al llegar a la horas 23:59:59 se reinicie el contador del reloj a 00:00:00 y siga contando
gracias por su ayuda.
lo que llevo es esto:
#include <stdio.h>
#include <unistd.h>
#include <limits.h>
int valor = 0;
int r = -1;
int hr = -1;
int ms = -1;
int sg = 50;
int main()
{
printf(" Programa para iniciar un reloj utilizando el formato de 24hr");
sleep(5);
system("cls");
printf(" Cargando");
sleep(1);
system("cls");
printf(" Cargando.");
sleep(1);
system("cls");
printf(" Cargando..");
sleep(1);
system("cls");
printf(" Cargando...");
sleep(1);
system("cls");
printf(" Cargando");
sleep(1);
system("cls");
printf(" Cargando.");
sleep(1);
system("cls");
printf(" Cargando..");
sleep(1);
system("cls");
printf(" Cargando...");
sleep(1);
system("cls");
printf("....Bienvenido....");
sleep(5);
system("cls");
printf("_.:Reloj:._\n\nDesea iniciar con el programa? \n\n 1: Si \n 0: No\n\n");
printf(" Ingrese el valor: ");
scanf("%d",&valor);
system("cls");
printf(" Cargando");
sleep(1);
system("cls");
printf(" Cargando.");
sleep(1);
system("cls");
printf(" Cargando..");
sleep(1);
system("cls");
printf(" Cargando...");
sleep(1);
system("cls");
printf(" Cargando");
sleep(1);
system("cls");
printf(" Cargando.");
sleep(1);
system("cls");
printf(" Cargando..");
sleep(1);
system("cls");
printf(" Cargando...");
sleep(1);
system("cls");
if(valor == 1)
{
printf("\n Ingrese un valor entre el 0 y 23 para las HORAS: ");
scanf ("%d",&hr);
if ((hr >= 23)&&(hr <= 0))
{
printf("\n Este valor %d no es correcto",hr);
}
printf("\n Ingrese el valor que le asigne a los MINUTOS: ");
scanf ("%d",&ms);
if ((ms >= 59)&&(ms <= 0))
{
printf("\n Este valor %d no es correcto",ms);
}
while(true)
{
printf("\n\n%d: %d: %d ",hr,ms,sg);
sleep(1);
system("cls");
if(sg==59)
ms++;
else if(ms==59)
hr++;
else sg++;
}
}
if(valor == 0)
{
printf("Adios :)");
sleep(1);
system("cls");
printf("Adios ;)");
sleep(1);
system("cls");
printf("Adios :)");
sleep(1);
system("cls");
printf("Adios ;)");
sleep(1);
system("cls");
printf("Adios :)");
sleep(1);
system("cls");
}
}
Tu código es muy difícil de seguir, con tantos fragmentos repetitivos innecesarios y con tabulaciones tan anárquicas. Quita lo que sobra y céntrate en la lógica. Ya lo "adornarás" después.
No entiendo eso de "valor con el que iniciar el programa". Debes pedir horas (que lo haces después), minutos (ídem) y segundos (que no pides). Todos ellos deben ser lecturas con "do-while". Si no sabes usar esa estructura, mira el apartado 3.2.2 del curso:
http://www.aprendeaprogramar.com/mod/resource/view.php?id=607
Haz esos cambios primero, y seguimos a partir de ahí.
(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)