[c++] Problemilla con time

Agrupa todas las consultas sobre los lenguajes de programacion como C, C++, Python, Java ...

[c++] Problemilla con time

Notapor migueleitorone » Mié Mar 23, 2011 11:00 pm

Buuenas estoy intentando hace un codigo que haga lo siguiente:
-Al pulsar un boton, guarde el momento(dia, hora y minuto) en que se pulso.
-Mostrar un contador que empieze desde 24:00 y valla bajando segun valla pasando el tiempo.

De momento tengo esto:
while(!done)
{
if(botonPulsado)
{
diaPulsacion = dia_actual(); //Guarda un int con el dia actual en el momento de presionar el boton
horaPulsacion = hora_actual(); //Guarda un int con la hora actual en el momento de presionar el boton
minutoPulsacion = minuto_actual(); //Guarda un int con el minuto actual en el momento de presionar el boton
}

diaActual = dia_actual(); //Guarda un int con el dia actual
horaActual = hora_actual(); //Guarda un int con la hora actual
minutoActual = minuto_actual(); //Guarda un int con el minuto actual

minutosActualesTotales = (diaActual*24*60)+(horaActual*60)+minutoActual; //Paso todo a minutos para poder operar con las horas y dias
minutosPulsacionTotales = (diaPulsacion*24*60)+(horaPulsacion*60)+minutoPulsacion;

minutosDesdeLaPulsacion = minutosActualTotales - minutosCreacionTotales; //Introduzco en esta variable los minutos que han pasado desde que pulse el boton

minutosContadorTotales = 1440 - minutosDesdeLaPulsacion; //Aqui van los minutos del contador, 1440 son los minutos que tienen 24 horas.

horasRestantes = minutosContadorTotales/60;
minutosRestantes = minutosContadorTotales%60;

printf("%d:%d\n", horasRestantes, minutosRestantes);
}

Hasta aqui todo bien, pulso el boton y comienza a bajar el contador, el problema llega cuando cambia el mes, que la variable diaActual pasa de 30 o 31 a 1 y se vuelve loco al hacer esta operacion: minutosActualesTotales = (diaActual*24*60)+(horaActual*60)+minutoActual;

Me estoy comiendo la cabeza pero no hay manera, no encuentro una solucion para que funcione cuando cuando cambia de mes, igual me estoy complicando la vida, aver si me podeis hechar una manito :D
migueleitorone
 
Mensajes: 88
Registrado: Mié Ago 18, 2010 2:59 pm
Ubicación: Barcelona, España

Re: [c++] Problemilla con time

Notapor Juanxo » Jue Mar 24, 2011 12:16 am

Me estoy comiendo la cabeza pero no hay manera, no encuentro una solucion para que funcione cuando cuando cambia de mes, igual me estoy complicando la vida, aver si me podeis hechar una manito :D


No te comas la cabeza, usa Google!! xD

Esta vez no te lo voy a dar hecho, porque así te sirve de aprendizaje, y porque es demasiado tarde como para ponerse a ello ahora:

Aquí tienes un enlace a una estructura que contiene casi todos los datos que tu necesitas, en especial cosas como yday (día del año o cosas así) y con esto pasas de la estructura de time_t básica, que supongo que es lo que estás usando a la estructura que te he comentado antes.

Ahora te toca a tí, juntarlo todo!
Avatar de Usuario
Juanxo
 
Mensajes: 437
Registrado: Sab Ene 31, 2009 2:34 am
Ubicación: Madrid(España)

Re: [c++] Problemilla con time

Notapor migueleitorone » Jue Mar 24, 2011 3:16 am

jojojo al final me lo has dado resuelto, solo he tenido que cambiar el tm_mday que estaba usando por el tm_yday. Ahora sigo teniendo el mismo error cada 1 de enero, pero tocando un par de cosillas puedo hacer que el error practicamente no perjudique al programa, asi que, lo doy por resuelto :D

gracias de nuevo juanxo :P

PD: Aunque no lo parezca soy un fiel amante de google, pero no sabia como preguntarle esto XDDD :oops:
migueleitorone
 
Mensajes: 88
Registrado: Mié Ago 18, 2010 2:59 pm
Ubicación: Barcelona, España

Re: [c++] Problemilla con time

Notapor Juanxo » Jue Mar 24, 2011 8:59 pm

la respuesta está clara, en su idioma, el inglés xD

No ahora en serio, puedes hacer casi cualquier pregunta y acabará dándote resultados. Para tu pregunta use "c++ get date" y en el segundo enlace estaba...
Avatar de Usuario
Juanxo
 
Mensajes: 437
Registrado: Sab Ene 31, 2009 2:34 am
Ubicación: Madrid(España)


Volver a Sobre lenguajes de programación

¿Quién está conectado?

Usuarios navegando por este Foro: No hay usuarios registrados visitando el Foro y 1 invitado