Está en la página 1de 2

#include<conio.

h>
#include<iostream>
using namespace std;

bool validafecha(int,int,int)
int calculaedad(int,int,int,int,int,int)
int main()
{
int an,mn,dn,aa,ma,da;
cout<<"Ingrese la fecha de nacimiento : ";
cin>>dn>>mn>>an;

while(validafecha(dn,mn,an))
{
cout<<"Fecha no valida,vuelva a ingresar\n";
cin>>dn>>mn>>an;
}
cout<<"Fecha de nacimiento es : "<<dn<<"/"<<mn<<"/"<<an<<"\n\n";
cout<<"Ingrese Fecha actual :\n";
cin>>da>>ma>>aa;

while(validafecha(da,ma,aa) ||aa<an)
{
cout<<"Fecha no valida,vuelva a ingresar\n";
cin>>da>>ma>>aa;
}

cout<<"Fecha actual es : "<<da<<"/"<<ma<<"/"<<aa<<"\n\n";


calculaedad(dn,mn,an,da,ma,aa);
getch();
}

bool validafecha(int d;int m,int a)


{
int dmax,sw=0;
if((a<1000 || a>9999) || (m<=0 || m>12) )
sw=1;
switch(m)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
dmax=31;break;
case 2: case 6: case 9: case 11:
dmax=30;break;
case:if(a%4==0 && a%100!=0 || a%400==0)
{
dmax=29;
}
else
dmax=28;
break;
}

if(d<=0 || d>dmax)
sw=1;
if(sw==0)
return true;
else
return false;
}

int calculaedad(int d1,int m1,int a1,int d2,int m2,int a2)


{
int ea,em,ed,pd;

switch(m2)
{
case 1: case 3: case 5: case 7: case 8: case 10: case 12:
pd=31;break;
case 2: case 6: case 9: case 11:
pd=30;break;
case:if(a%4==0 && a%100!=0 || a%400==0)
{
pd=29;
}
else
pd=28;
break;
}
if(d2<d1)
{
ed=d2+pd-d1;
m2--;
if(m2<m1)
{
em=m2+12-m1;
a2--;
}
else
em=m2-m1;

ea=a2-a1;
}
else
{
ed=d2-d1;
if(m2<m1)
{
em=m2+12-m1;
a2--;
}
else
em=m2-m1;

ea=a2-a1;
}

cout<<"\nLa edad es : "<<ea<<" anos "<<em<<" meses "<<ed<<" dias\n";


}

También podría gustarte