Blog en Blogger Perfil en Slideshare Bookmarks en Delicious Perfil el Facebook Perfil en Twitter Fotos en Flickr Página en MySpace Canal en YouTube Perfil en Google Perfil en Google
Búsqueda personalizada
EMPEZAR DE CERO A PROGRAMAR EN LENGUAJE C
 Recursos > Código fuente > Capítulo 12 > Ejemplo 12.10
Validar fecha
 Código fuente (Solución 1)
#include <stdio.h>

int main()
{
   int dia, mes, anio;

   printf( "\n   Introduzca dia: " );
   scanf( "%d", &dia );
   printf( "\n   Introduzca mes: " );
   scanf( "%d", &mes );
   printf( "\n   Introduzca anio: " );
   scanf( "%d", &anio );

   if ( mes >= 1 && mes <= 12 )
   {

      switch ( mes )
      {
         case  1 :
         case  3 :
         case  5 :
         case  7 :
         case  8 :
         case 10 :
         case 12 : if ( dia >= 1 && dia <= 31 )
                      printf( "\n   FECHA CORRECTA" );
                   else
                      printf( "\n   FECHA INCORRECTA" );
                   break;

         case  4 :
         case  6 :
         case  9 :
         case 11 : if ( dia >= 1 && dia <= 30 )
                      printf( "\n   FECHA CORRECTA" );
                   else
                      printf( "\n   FECHA INCORRECTA" );
                   break;

         case  2 : if ( anio % 4 == 0 && anio % 100 != 0 ||
                        anio % 400 == 0 )

                      if ( dia >= 1 && dia <= 29 )
                         printf( "\n   FECHA CORRECTA" );
                      else
                         printf( "\n   FECHA INCORRECTA" );
                   else
                      if ( dia >= 1 && dia <= 28 )
                         printf( "\n   FECHA CORRECTA" );
                      else
                         printf( "\n   FECHA INCORRECTA" );
      }

   }
   else
      printf( "\n   FECHA INCORRECTA" );

   return 0;
}
 Código fuente (Solución 2)
#include <stdio.h>

int main()
{
   int dia, mes, anio, fecha_correcta /* interruptor */;

   printf( "\n   Introduzca dia: " );
   scanf( "%d", &dia );
   printf( "\n   Introduzca mes: " );
   scanf( "%d", &mes );
   printf( "\n   Introduzca anio: " );
   scanf( "%d", &anio );

   fecha_correcta = 0;

   if ( mes >= 1 && mes <= 12 )
   {

      switch ( mes )
      {
         case  1 :
         case  3 :
         case  5 :
         case  7 :
         case  8 :
         case 10 :
         case 12 : if ( dia >= 1 && dia <= 31 )
                      fecha_correcta = 1;
                   break;

         case  4 :
         case  6 :
         case  9 :
         case 11 : if ( dia >= 1 && dia <= 30 )
                      fecha_correcta = 1;
                   break;

         case  2 : if ( anio % 4 == 0 && anio % 100 != 0 ||
                        anio % 400 == 0 )

                   {
                      if ( dia >= 1 && dia <= 29 )
                         fecha_correcta = 1;
                   }
                   else
                      if ( dia >= 1 && dia <= 28 )
                         fecha_correcta = 1;
      }

   }

   /* Llegados a este punto, según el valor de fecha_correcta,
      por pantalla se mostrará un mensaje u otro. */

   if ( fecha_correcta )
      printf( "\n   FECHA CORRECTA" );
   else
      printf( "\n   FECHA INCORRECTA" );

   return 0;

}
 Código fuente (Solución 3)
#include <stdio.h>

int main()
{
   int dia_maximo, dia, mes, anio, fecha_correcta /* Interruptor */;

   printf( "\n   Introduzca dia: " );
   scanf( "%d", &dia );
   printf( "\n   Introduzca mes: " );
   scanf( "%d", &mes );
   printf( "\n   Introduzca anio: " );
   scanf( "%d", &anio );

   fecha_correcta = 0;

   if ( mes >= 1 && mes <= 12 )
   {

      switch ( mes )
      {
         case  1 :
         case  3 :
         case  5 :
         case  7 :
         case  8 :
         case 10 :
         case 12 : dia_maximo = 31;
                   break;

         case  4 :
         case  6 :
         case  9 :
         case 11 : dia_maximo = 30;
                   break;

         case  2 : if ( anio % 4 == 0 && anio % 100 != 0 ||
                        anio % 400 == 0 )

                      dia_maximo = 29;
                   else
                      dia_maximo = 28;
      }

      if ( dia >= 1 && dia <= dia_maximo )
         fecha_correcta = 1;

   }

   if ( fecha_correcta )
      printf( "\n   FECHA CORRECTA" );
   else
      printf( "\n   FECHA INCORRECTA" );

   return 0;
}
 Ficheros con extensión (.c)
ejemplo_12_10_1.c
ejemplo_12_10_2.c
ejemplo_12_10_3.c
 A destacar
Cursos
Curso Diseño de Algoritmos
Curso Informática Básica
Curso Ingeniería del Software
Curso Marketing en Internet
Curso Lenguaje C
Curso Turbo Pascal
Curso Representación Datos
Ejercicios
Ejercicios de Algoritmos
Ejercicios de Lenguaje C
Ejercicios de Ordinogramas
Ejercicios de Pascal
Libros
Empezar de cero a programar en lenguaje C
Domine la programación en lenguaje C
Empezar de cero a programar en Pascal
CarlosPes.Com

Promociona también tu página
Búsqueda personalizada
 Más Webs Interesantes
© 2006-2010 CarlosPes.com