#include<conio.h>
#include<stdio.h>
#include<math.h>
#include<string.h>
struct fecha{
       int dia;
       char mes[20];
       int ano;
       }fech;
void check (char *);
int main (void)
{
     char fecha[10];
     printf("Ingresa la fecha con el formato dd/mm/aaaa\n");
     gets(fecha);
     check(fecha);
     printf("Oprime una tecla para terminar...\n");
     getch();
     return 0;
}

void check (char *fe)
{
     int i,d1,d2,l1,l2,m1,m2,a1,a2,a3,a4,mes,me,m;
     for(i=1;i<=10;fe++)
     {
/*1*/if(i==1)
     {
           if(*fe==48)
             d1=0;
           else
             if(*fe==49)
               d1=10;
             else
               if(*fe==50)
                 d1=20;
               else
                 if(*fe==51)
                   d1=30;
                 else
                   d1=100;
        }
        else
        {
   /*2*/if(i==2)
        {
            if(*fe==48)
             d2=0;
           else
             if(*fe==49)
               d2=1;
             else
               if(*fe==50)
                 d2=2;
               else
                 if(*fe==51)
                   d2=3;
                 else
                   if(*fe==52)
                     d2=4;
                   else
                     if(*fe==53)
                       d2=5;
                     else 
                       if(*fe==54)
                         d2=6;
                       else 
                         if(*fe==55)
                           d2=7;
                         else 
                           if(*fe==56)
                             d2=8;
                           else 
                             if(*fe==57)
                               d2=9;
                             else 
                               d2=100;
        }
        else
        {
   /*3*/if(i==3)
        {
        if(*fe!=47)
          l1=0;
        }
        else
        {
   /*4*/if(i==4)
        {
           if(*fe==48)
             m1=0;
           else
             if(*fe==49)
               m1=10;
             else
                m1=100;
        }
        else
        {
   /*5*/if(i==5)
        {
           if(*fe==48)
             m2=0;
           else
             if(*fe==49)
               m2=1;
             else
               if(*fe==50)
                 m2=2;
               else
                 if(*fe==51)
                   m2=3;
                 else
                   if(*fe==52)
                     m2=4;
                   else
                     if(*fe==53)
                       m2=5;
                     else 
                       if(*fe==54)
                         m2=6;
                       else 
                         if(*fe==55)
                           m2=7;
                         else 
                           if(*fe==56)
                             m2=8;
                           else 
                             if(*fe==57)
                               m2=9;
                             else 
                               m2=100;
        }
        else
        {
   /*6*/if(i==6)
        {
           {
        if(*fe!=47)
          l2=0;
        }
        }
        else
        {
   /*7*/if(i==7)
        {
           if(*fe==48)
             a1=0;
           else
             if(*fe==49)
               a1=1000;
             else
               if(*fe==50)
                 a1=2000;
               else
                 if(*fe==51)
                   a1=3000;
                 else
                   if(*fe==52)
                     a1=4000;
                   else
                     if(*fe==53)
                       a1=5000;
                     else 
                       if(*fe==54)
                         a1=6000;
                       else 
                         if(*fe==55)
                           a1=7000;
                         else 
                           if(*fe==56)
                             a1=8000;
                           else 
                             if(*fe==57)
                               a1=900;
                             else 
                               a1=100;
        }
        else
        {
   /*8*/if(i==8)
        {
           if(*fe==48)
             a2=0;
           else
             if(*fe==49)
               a2=100;
             else
               if(*fe==50)
                 a2=200;
               else
                 if(*fe==51)
                   a2=300;
                 else
                   if(*fe==52)
                     a2=400;
                   else
                     if(*fe==53)
                       a2=500;
                     else 
                       if(*fe==54)
                         a2=600;
                       else 
                         if(*fe==55)
                           a2=700;
                         else 
                           if(*fe==56)
                             a2=800;
                           else 
                             if(*fe==57)
                               a2=900;
                             else 
                               a2=100;
        }
        else
        {
   /*9*/if(i==9)
        {
           if(*fe==48)
             a3=0;
           else
             if(*fe==49)
               a3=10;
             else
               if(*fe==50)
                 a3=20;
               else
                 if(*fe==51)
                   a3=30;
                 else
                   if(*fe==52)
                     a3=40;
                   else
                     if(*fe==53)
                       a3=50;
                     else 
                       if(*fe==54)
                         a3=60;
                       else 
                         if(*fe==55)
                           a3=70;
                         else 
                           if(*fe==56)
                             a3=80;
                           else 
                             if(*fe==57)
                               a3=90;
                             else 
                               a3=100;
        }
        else
        {
  /*10*/if(i==10)
        {
           if(*fe==48)
             a4=0;
           else
             if(*fe==49)
               a4=1;
             else
               if(*fe==50)
                 a4=2;
               else
                 if(*fe==51)
                   a4=3;
                 else
                   if(*fe==52)
                     a4=4;
                   else
                     if(*fe==53)
                       a4=5;
                     else 
                       if(*fe==54)
                         a4=6;
                       else 
                         if(*fe==55)
                           a4=7;
                         else 
                           if(*fe==56)
                             a4=8;
                           else 
                             if(*fe==57)
                               a4=9;
                             else 
                               a3=100;
        }
        }
        }
        }
        }
        }
        }
        }
        }
        }
        i+=1;
        }
        fech.dia=d1+d2;
        me=m1+m2;
        fech.ano=a1+a2+a3+a4;
        switch(me)
        {
          case 1: strcpy(fech.mes,"Enero");
                  break;
          case 2: strcpy(fech.mes,"Febrero");
                  break;
          case 3: strcpy(fech.mes,"Marzo");
                  break;
          case 4: strcpy(fech.mes,"Abril");
                  break;
          case 5: strcpy(fech.mes,"Mayo");
                  break;
          case 6: strcpy(fech.mes,"Junio");
                  break;
          case 7: strcpy(fech.mes,"Julio");
                  break;
          case 8: strcpy(fech.mes,"Agosto");
                  break;
          case 9: strcpy(fech.mes,"Septiembre");
                  break;
          case 10: strcpy(fech.mes,"Octubre");
                  break;
          case 11: strcpy(fech.mes,"Noviembre");
                  break;
          case 12: strcpy(fech.mes,"Diciembre");
                  break;
          default: strcpy(fech.mes,"Error");
        }
     if(fmod(fech.ano,4)==0)
     {
	 if(me==1)
	    m=31;
	 else
	    if(me==2)
	       m=29;
	    else
	       if(me==3)
		  m=31;
	       else
		  if(me==4)
		     m=30;
	       else
		  if(me==5)
		     m=31;
		  else
		     if(me==6)
			m=30;
		     else
			if(me==7)
			   m=31;
			else
			   if(me==8)
			      m=31;
			   else
			      if(me==9)
				 m=30;
			      else
				 if(me==10)
				    m=31;
				 else
				    if(me==11)
				       m=30;
				    else
				       m=31;
	 }
	 else
	 {
	 if(me==1)
	    m=31;
	 else
	    if(me==2)
	       m=28;
	    else
	       if(me==3)
		  m=31;
	       else
		  if(me==4)
		     m=30;
	       else
		  if(me==5)
		     m=31;
		  else
		     if(me==6)
			m=30;
		     else
			if(me==7)
			   m=31;
			else
			   if(me==8)
			      m=31;
			   else
			      if(me==9)
				 m=30;
			      else
				 if(me==10)
				    m=31;
				 else
				    if(me==11)
				       m=30;
				    else
				       m=31;
	 }
	 if(fech.dia>m)
	   printf("Fecha no valida\n");
     else 
       if(me>12)
         printf("Fecha no valida\n");
       else 
         printf("%d de %s de %d\n",fech.dia,fech.mes,fech.ano);
     if(l1==0||l2==0)
       printf("Al ingresar la fecha por favor utilice diagonales\n");
}
