Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Que pasa...??

Estas en el tema de Que pasa...?? en el foro de C/C++ en Foros del Web. tengo que haser un programa que introduciendo segundos me devuelva las semanas,dias ,horas y minutos. Lo he estado haciendo pero no sale. Os dejo el ...
  #1 (permalink)  
Antiguo 08/03/2006, 11:24
 
Fecha de Ingreso: junio-2005
Mensajes: 53
Antigüedad: 18 años, 10 meses
Puntos: 0
Que pasa...??

tengo que haser un programa que introduciendo segundos me devuelva las semanas,dias ,horas y minutos. Lo he estado haciendo pero no sale. Os dejo el código a ver si veis los fallos

Código:
#include <conio.h>
#include <stdio.h>
#include <dos.h>


void main(void)
{
long int seg;
int minutos=0,horas=0,dias=0,semanas=0;

printf("Introduce los segundos --->");
scanf("%ld",&seg);

 	while(seg>=604800)
    {
    seg=seg/604800;
    semanas++;
    }
  while(seg>=86400)
    {
    seg=seg/86400;
    dias++;
    }
 while(seg>=3600)
    {
    seg=seg/3600;
    horas++;
    }
 while(seg>=60)
    {
    seg=seg/60;
    minutos++;
    }

printf("\n\n Son:\n\n %d semanas\n %d dias\n",semanas,dias);
printf(" %d horas\n %d minutos\n",horas,minutos);

getch();

}
  #2 (permalink)  
Antiguo 08/03/2006, 15:06
Avatar de laureano59  
Fecha de Ingreso: febrero-2005
Mensajes: 395
Antigüedad: 19 años, 2 meses
Puntos: 1
Hola que tal

Amigo primero que todo no necesitas tantos while solo usas uno
y las comparaciones las haces con IF

es algo como esto:

while(seg>=0)
{
if seg >= 604800;{
seg = seg/604800;
semanas++;
}

if seg >= 86400;{
seg = seg/86400;
dias++;
}

} //Fin del While hasta que segundos es = 0

Espero te oriente un poco

Saludos
__________________
http://www.weblaum.com
Laureano Melo Medina
:arriba:
  #3 (permalink)  
Antiguo 08/03/2006, 18:12
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 21 años, 5 meses
Puntos: 52
Como te acaban de decir, solo necesitas un simplem while, que haga todo junto en vez de varios por separado. Las comparaciones las puedes hacer con ifs, y al acabar de contar los segundos, se acaba el ciclo.

SAludos
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 10:30.