Está en la página 1de 2

// PROGRAMA QUE CALCULA LA EDAD DE UNA PERSONA A PARTIR DE LA FECHA DE NACIMIENT

O Y LA FECHA ACTUAL
#include <stdio.h>
// INICIO DEL PROGRAMA

main()
{
// DECLARACION DE VARIABLES
int dia,mes,anio,meses,dia1,mes1,anio1,anios,i,j;

// INTRODUCCION DE LA FECHA DE NACIMIENTO


printf("introduce tu fecha de nacimiento en el formato dd mm aaaa:\n");
scanf("%d%d%d",&dia,&mes,&anio);
while (mes>12 || mes<1 || dia<1 ||dia>31 || anio<1 || (mes==04 &&dia>30)
|| (mes==06 &&dia>30) || (mes==9 &&dia>30) || (mes==11 &&dia>30))
{
printf("introduce tu fecha de nacimiento en el formato dd mm aaa
a:\n");
scanf("%d%d%d",&dia,&mes,&anio);
}
while (((anio %4 == 0 && anio%100 !=0 &&mes==02 &&dia>29)|| anio % 400 =
=0 ) &&mes==02 &&dia>29)
{
printf("introduce tu fecha de nacimiento en el formato dd mm aaa
a:\n");
scanf("%d%d%d",&dia,&mes,&anio);
}
while (((anio %4 != 0 &&mes==02 &&dia>28) || anio%4 ==0 &&anio %100==0 &
& anio %400 !=0) &&mes==02 &&dia>28)
{
printf("introduce tu fecha de nacimiento en el formato dd mm aaa
a:\n");
scanf("%d%d%d",&dia,&mes,&anio);
}

// INTRODUCCION DE LA FECHA ACTUAL


printf("introduce la fecha actual en el formato dd mm aaaa:\n");
scanf("%d%d%d",&dia1,&mes1,&anio1);
// VALIDACION DE LA FECHA ACTUAL
while (mes1>12 || mes1<1 || dia1<1 ||dia>131 || anio1<1 || (mes1==04 &&d
ia1>30) || (mes1==06 &&dia1>30) || (mes1==9 &&dia1>30) || (mes1==11 &&dia>30))
{
printf("introduce tu fecha actual en el formato dd mm aaaa:\n");
scanf("%d%d%d",&dia1,&mes1,&anio1);
}
while (((anio1 %4 == 0 && anio1%100 !=0)&&mes1==02 &&dia1>29) || ((anio
1 % 400 ==0 ) &&mes1==02 &&dia1>29))
{
printf("introduce tu fecha de actual en el formato dd mm aaaa:\n
");
scanf("%d%d%d",&dia1,&mes1,&anio1);
}
while (((anio1 %4 != 0 &&mes1==02 &&dia1>28) || anio1%4 ==0 &&anio1 %100
==0 && anio1 %400 !=0) &&mes1==02 &&dia1>28)
{
printf("introduce tu fecha actual en el formato dd mm aaaa:\n");
scanf("%d%d%d",&dia1,&mes1,&anio1);
}

//CALCULO DE EDAD
if(anio1==anio && dia1>dia)
{printf("Tu edad es: %dmeses\n", mes1-mes);
}
else

if(mes1>=mes &&dia1>=dia)
{printf("Tu edad es: %danios\n", anio1-anio);
}
if(mes1<mes)
{printf("Tu edad es: %danios", anio1-anio-1);
}
if (mes1<mes &&anio1-anio-1==0)
{printf(" y %dmeses\n", 12-mes+mes1);
}
}
// FIN DEL PROGRAMA

También podría gustarte