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

[SOLUCIONADO] [PROBLEMA] Validación de fecha

Estas en el tema de [PROBLEMA] Validación de fecha en el foro de C/C++ en Foros del Web. Buenas gente, antes que nada quiero dejar en claro, que no hago este post con la finalidad de que hagan mis tareas, al contrario, no ...
  #1 (permalink)  
Antiguo 04/04/2016, 20:07
 
Fecha de Ingreso: marzo-2016
Mensajes: 15
Antigüedad: 8 años, 8 meses
Puntos: 0
[PROBLEMA] Validación de fecha

Buenas gente, antes que nada quiero dejar en claro, que no hago este post con la finalidad de que hagan mis tareas, al contrario, no me gustaría, quiero pensar. Les comento la situación; mi profesor me dio el siguiente problema, "Dada una fecha como día (número entero), mes (cadena de caracteres) y año (entero positivo con 4 dígitos), escribir una función que indique si dicha fecha es correcta o no. Ejemplo: 22 octubre es una fecha correcta; 31 abril 2001 no es correcta porque abril no tiene 31 días; NOTA: No considerar los años biciestos y tampoco usar arrays."

Les digo la verdad, no sé por donde empezar a encararlo al problema jaja, Sé que tengo 3 variables; int iDias, int iAños e string sMeses. Pero de ahí en más, me había puesto a pensar que lo podría resolver con IF pero serían bastantes IF. No quiero que me hagan el código, ni que me digan toda la solución, sólo quiero una pequeña ayuda, todo lo que pueda servir, una explicación lógica me ayudaría bastante. Muchas gracias y tengan una buena jornada.
  #2 (permalink)  
Antiguo 04/04/2016, 21:21
Avatar de Instru  
Fecha de Ingreso: noviembre-2002
Ubicación: Mexico
Mensajes: 2.751
Antigüedad: 22 años
Puntos: 52
Respuesta: [PROBLEMA] Validación de fecha

Pues si te pones a pensarlo. No son tantos ifs. JAjajaja.

La cuestión es que definas una serie de restricciones y luego las implementes.
Una idea:

Primera restricción: Ningun mes tiene mas de 31 días osea (dias <=31).
Segunda restriccion: Un grupo de meses no tiene mas de 30 días.
Tercera: Febrero tiene 28 días.

Aqui hay de varias: Ya sea traducir el nombre del mes en un numero, lo cual facilitaría su manejo o usar 3 ifs pero con muchos ors logicos.

Es una primer idea. Hay que echarle mas cabeza. Pero vamos, que me gustaría ver como te queda.

SAludos
  #3 (permalink)  
Antiguo 05/04/2016, 09:57
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 9 meses
Puntos: 3
Respuesta: [PROBLEMA] Validación de fecha

Podrías plantearlo de dos maneras.
La primera seria usar un array para almacenar todos los meses y al introducir un mes lo buscas en ese array y trabajas con su indice:
Sí indice == 1
El mes tiene 28
De lo contrario Si (indice < 7 y (indice+1) % 2 no es 0) o (índice >= 7 y (indice+1) % 2 si es 0)
El mes tiene 31
De lo contrario
El mes tiene 30

Sí no te dejan usar el array para los meses tampoco pues te toca usar un if... else if... para todas las posibilidades.
  #4 (permalink)  
Antiguo 05/04/2016, 11:22
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: [PROBLEMA] Validación de fecha

Cita:
Iniciado por aguml Ver Mensaje
Sí indice == 1
El mes tiene 28
¿Los bisiestos no los tenemos en cuenta?

Jejeje
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.
  #5 (permalink)  
Antiguo 05/04/2016, 11:40
 
Fecha de Ingreso: marzo-2016
Mensajes: 15
Antigüedad: 8 años, 8 meses
Puntos: 0
Respuesta: [PROBLEMA] Validación de fecha

Muchas gracias chicos, la verdad que estuve navegando, y no le encontré otra forma para solucionar sin usar arrays. Lo único que fue es hacer IF y ELSE IF, obviamente bastantes ORS... Muchas gracias por su ayuda.
  #6 (permalink)  
Antiguo 05/04/2016, 11:46
 
Fecha de Ingreso: febrero-2015
Mensajes: 404
Antigüedad: 9 años, 9 meses
Puntos: 3
Respuesta: [PROBLEMA] Validación de fecha

Cita:
Iniciado por eferion Ver Mensaje
¿Los bisiestos no los tenemos en cuenta?

Jejeje
Dice en el ejercicio que no 😊
  #7 (permalink)  
Antiguo 05/04/2016, 11:59
 
Fecha de Ingreso: octubre-2014
Ubicación: Madrid
Mensajes: 1.212
Antigüedad: 10 años, 1 mes
Puntos: 204
Respuesta: [PROBLEMA] Validación de fecha

Cita:
Iniciado por aguml Ver Mensaje
Dice en el ejercicio que no 😊
Como habías propuesto también la opción de los arrays... jejejejej ;)
__________________
La ayuda se paga con esfuerzo o con dinero. Si no estás dispuesto a esforzarte y quieres que te hagan los deberes pide presupuesto, al menos así ahorrarás tiempo.

Etiquetas: cadena, fecha, int, string
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 11:44.