06/06/2008, 17:18
|
| | | Fecha de Ingreso: diciembre-2006 Ubicación: Buenos Aires, Argentina
Mensajes: 980
Antigüedad: 18 años Puntos: 36 | |
Respuesta: FAQs del lenguaje C y sus variantes Pregunta: Cómo validar fechas? Respuesta: Con este código:
Código:
#include<stdio.h>
#include<conio.h>
int anioBisiesto(int);
int cantDias(int,int);
int esFechaCorrecta(int, int, int);
int main(){
int anio, mes, dia;
printf("Ingrese fecha en formato dd/mm/yyyy: ");
scanf("%d/%d/%d", &dia, &mes, &anio);
if(esFechaCorrecta(dia,mes,anio) == 1)
printf("Ok");
else
printf("No");
getch();
}
int anioBisiesto(int anio){
if((anio % 100) % 4 == 0)
return 1;
else
return 0;
}
int cantDias(int mes, int bisiesto){
int dias;
if(mes == 1 || mes == 3 || mes == 5 || mes == 7 || mes == 8 || mes == 10 || mes == 11){
dias = 31;
}else{
if(mes == 2){
if(bisiesto == 1){
dias = 29;
}else{
dias = 28;
}
}else{
dias = 30;
}
}
return dias;
}
int esFechaCorrecta(int dia, int mes, int anio){
int bisiesto, cant_Dias;
bisiesto = anioBisiesto(anio);
cant_Dias = cantDias(mes, bisiesto);
if(anio > 1900 && anio < 2009 && mes <= 12 && mes >= 1 && dia <= cant_Dias && dia >=1)
return 1;
else
return 0;
}
|