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) |
|
|
|
|
|