|   
			 
			
			
			
			
			
			
		     
			
				06/06/2008, 17:18
			
			
			     |  
        |     |    |    Fecha de Ingreso: diciembre-2006  Ubicación: Buenos Aires, Argentina  
						Mensajes: 980
					  Antigüedad: 18 años, 10 meses 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;
    
}
                 |