Título: Ayuda con temporizador Publicado por: GominaTilted en 13 Octubre 2018, 12:08 pm Buenas, en uno de los ejercicios que tengo que hacer para clase, se pide realizar un temporizador. Es decir, el usuario introduce la hora actual, y los segundos que quiere añadir, y el programa debe de mostrar correctamente las hora que será pasados esos segundos. No tengo ni idea de cómo. No quiero que nadie me diga el código, simplemente una pista para poder sacarlo por mí mismo. Muchas gracias.
Título: Re: Ayuda con temporizador Publicado por: EdePC en 13 Octubre 2018, 14:57 pm Saludos,
- Depende de la temática de tu ejercicio, si estás en Algoritmos lo correcto sería utilizar conversiones; si estás en Programación utilizando librerías, entonces lo correcto sería utilizar librerías de tratamiento de fechas/horas. - Supongo que estás tratando con ejercicios de Algoritmos, entonces has conversiones: -- Aunque también depende algo del formato de las fechas/horas que vas a utilizar, por ejemplo si la hora dada es: 13:20:23 tomas las horas (13) las pasas a una unidad base por ejemplo segundos: 13 * 3600 = 46800, lo sumas con los minutos convertidos: 20 * 60 = 1200, y a la vez lo sumas con los segundos, quedando: 46800 + 1200 + 23 = 48023 segundos. -- Para finalizar sumas tus segundos obtenidos con los segundos dados, suponiendo que los segundos dados son 500, entonces: 48023 + 500 = 48523. -- Listo ahora haces el inverso: --- Horas = 48523 / 3600 = 13; residuo = 1723 --- Minutos = 1723 / 60 = 28; residuo = 43 --- Segundos = 43 -- Quedando: 13:28:43 - Hay varias maneras, otra podría ser el convertir los segundos dados a horas, minutos y segundos, para luego sumarlos a las horas, minutos y segundos dados al inicio. - No le veo mucho parecido a un temporizador, a no ser que no lo haya entendido bien... :xD Título: Re: Ayuda con temporizador Publicado por: GominaTilted en 13 Octubre 2018, 19:41 pm Saludos, Muchas gracias, ya lo tengo. Al final lo he hecho así: - Depende de la temática de tu ejercicio, si estás en Algoritmos lo correcto sería utilizar conversiones; si estás en Programación utilizando librerías, entonces lo correcto sería utilizar librerías de tratamiento de fechas/horas. - Supongo que estás tratando con ejercicios de Algoritmos, entonces has conversiones: -- Aunque también depende algo del formato de las fechas/horas que vas a utilizar, por ejemplo si la hora dada es: 13:20:23 tomas las horas (13) las pasas a una unidad base por ejemplo segundos: 13 * 3600 = 46800, lo sumas con los minutos convertidos: 20 * 60 = 1200, y a la vez lo sumas con los segundos, quedando: 46800 + 1200 + 23 = 48023 segundos. -- Para finalizar sumas tus segundos obtenidos con los segundos dados, suponiendo que los segundos dados son 500, entonces: 48023 + 500 = 48523. -- Listo ahora haces el inverso: --- Horas = 48523 / 3600 = 13; residuo = 1723 --- Minutos = 1723 / 60 = 28; residuo = 43 --- Segundos = 43 -- Quedando: 13:28:43 - Hay varias maneras, otra podría ser el convertir los segundos dados a horas, minutos y segundos, para luego sumarlos a las horas, minutos y segundos dados al inicio. - No le veo mucho parecido a un temporizador, a no ser que no lo haya entendido bien... :xD Código: #include <windows.h> Otra duda que me surge (aunque no aparezca en este ejercicio), es si las constantes es mejor declararlas dentro de main o fuera. Es que me han dejado muy claro que de momento no podemos usar variables globales (solo en casos muy puntuales en los siguientes cursos del grado), pero no han mencionado nada de las constantes. Obviamente le preguntaré al profesor, pero opiniones nunca sobran. Título: Re: Ayuda con temporizador Publicado por: MAFUS en 13 Octubre 2018, 20:37 pm Eso es cuestión de diseño: si el dato de la constante lo va a usar una sola función declárala en la función, pero si va a ser un dato usado en diferentes funciones porque forma parte intrínseca el programa hazla global; ir pasándola por argumento a las diferentes funciones si no va a cambiar de valor pues es una pérdida de tiempo de procesador y memoria.
|