Comprobar si un dato es un año

Iniciado por 1mpuls0, 5 Abril 2014, 02:41 AM

0 Miembros y 1 Visitante están viendo este tema.

1mpuls0

Hola.

Cómo sabemos nuestros programas los debemos hacer lo más robustos posibles.
Estoy en un dilema de como evaluar si un dato es un año válido, sin importar el lenguaje de programación y obviamente sin funciones propias del lenguaje.

Suponiendo que el dato inicial es de tipo cadena

1. verificar si el dato inicial es diferente de nulo o diferente de vacío
2. verificar si el dato es un entero
3. verificar si el entero contiene 4 dígitos. ¿¿??
4. verificar si pertenece a un rango ¿¿??

El punto 3 sería correcto?, o dependería del área en que se aplique y/o el propósito, yo digo que depende.
Por ejemplo tal vez para un programa que esté enfocado a algo de historia no sería válido esta verificación.

Par el punto 4, no sé... tal vez podría quedar libre.

Les comento que trabajo en un área de estadística entonces, los años pueden variar mucho, desde el año en que se tiene información (e.g. 1875) hasta el año en que se requieran realizar pronósticos (5, 10 15 años más adelante del actual, e.g. 2045) por eso tampoco puedo dejarlo a un rango especifico.

Aunque claro está que para el año 10, 000 (o muchísimo antes) el programa (específicamente la validación) de 4 dígitos ya no sería correcta.

Creo que lo dejaré solo hasta el punto 3, aunque si alguien ingresa 0000 mi programa no estará preparado para eso xDD
Aunque también solo puedo comentarlo con mi jefe inmediato a ver que opina, el sabe más del tema de estadística que yo.
Pero...

Ustedes que opinan? xDD
abc

Mitsu

Qué hay Darhius, Supongo que es un soft de Historia xD

Si es así, yo haría lo siguiente:

  • 2 RadioButtons: A.C. / D.C.
  • Comprobar si lo ingresado es un entero.
  • Si se elige D.C. Obviamente limitar al año actual.
  • Comprobar si se ingresa un entero negativo.
  • Si se ingresan ceros, eliminar los ceros a la izquierda y ésta fecha acondicionarla para D.C. Ej: 0010 -> 10 D.C.

    Seguro se me ocurren otras cosillas por ahí. Salu2 xD

1mpuls0

Hola.

Gracias por responder.

Es cierto me falta verificar si es positivo o negativo xD

Gracias.

Saludos.
abc

amchacon

Un entero negativo es una entrada valida, significaria años A.C
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar

1mpuls0

Sí tienes razón @amchacon lo había tomado en cuenta.

Solo que no puedes decir -100 año A.C.

Pero gracias por la observación.
abc

amchacon

No hombre, a la hora de mostrarlo por pantalla lo haras en valor absoluto.

Yo decia a la hora de guardarlo, muy util para comparar si un año es anterior a otro.
Por favor, no me manden MP con dudas. Usen el foro, gracias.

¡Visita mi programa estrella!

Rar File Missing: Esteganografía en un Rar