输入出生日期和现在日期,如何计算人的年龄?

如题,学校课程还没有学到相关代码,在要判断人”是否过生日“的情况下,请问如何编写程序呢?

主要就是比较月份和出生日期哪个大,如果相等再比较日是否相等
如果有帮助请点一下我回答右上方的采纳,谢谢!以后有什么问题可以互相交流。

#include<bits/stdc++.h>
using namespace std;
int main()
{  int year,year1,month,month1,day,day1,age;
cout<<"请输入您的生日:";
cin>>year>>month>>day;
cout<<"请输入当前日期:";
cin>>year1>>month1>>day1;
if(year1==year)
   age=0;
else
{age=year1-year;
      if(month1<month||(month1==month&&day1<day))
       age=age-1;
}
cout<<"您的年龄是:"<<age;
}
 

img

将生日和当前日期都转化成天数,想减后除以365得到年数,余数如果大于0就再加1

#include <iostream>
using namespace std;
int main()
{
      int sy,sm,sd;
      int ey,em,ed;
      cout<<"请输入出生年月日:"<<endl;
      cin>>sy>>sm>>sd;
      cout<<"请输入当前年月日:"<<endl;
      cin>>ey>>em>>ed;
      sd = sy*365+sm*31*sd;
      ed = ey*365+em*31+ed;
      sd = ed - sd;
      sy = sd/365;
      if((sd - sy*365) > 0)
          sy++;
      cout<<"您的年龄为:"<<sy;
      system("pause");
      return 0;
}

一个是年份相减,得到的就是他现在的年纪
然后用一个判断,判断他的月和日
如果过了,年龄加1
没有过,年龄不变
等于,就是生日