蓝桥杯 C++ 计算出生到现在已经过了多少天

//计算你从出生到现在已经过了多少天
//日期的输入年份日期之间用回车隔开例如输入2012年12月23日
//你输入为2012回车12回车23回车
#include"iostream.h"
int a[][12]={{31,28,31,30,31,30,31,31,30,31,30,31},
{31,29,31,30,31,30,31,31,30,31,30,31}};
int oryear(int m)
{ if((m%400==0)||((m%4==0)&&(m%100!=0)))
 return 1;
 else return 0;
}
int yearday(int i)
{
 if(oryear(i)==1) return 366;
 else return 365;
}
main()
{
 int ye1,mon1,day1;
 int ye2,mon2,day2,day=0;
 cout<<"******* welcome to here ,birth days calculator******"<<endl;
 cout<<"please insert your birthday:";
  cin>>ye1>>mon1>>day1;cout<<endl;
     cout<<"please insert today date:";
   cin>>ye2>>mon2>>day2;cout<<endl;
if(ye1<ye2||((ye1==ye2)&&(mon1<mon2))||((ye1==ye2)&&(mon1==mon2)&&(day1<day2))){
 for(int i=ye1;i<ye2;i++)day=day+yearday(i);
 for(int j=0;j<mon1;j++)day=day-a[oryear(ye1)][j];
 day=day-day1;
 for(int z=0;z<mon2;z++)day=day+a[oryear(ye2)][z];
 day=day+day2+1;// birth day have birth;
 cout<<"已经过了:"<<day<<"天了"<<endl;
 }

else {
cout<<"你的输入非法,重新输入!"<<endl;
}
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值