编号及代码:
/*
*Copyright (c)2014,计算机科学与控制工程学院
*All rights reserved
*作者:范星月
*完成日期:2014年12月23日
*版本号;v 1.0
*
*问题描述;输入两个人出生日期,计算相差多少天
*问题输入:输入年月日
*问题输出:输出天数
*/
#include <iostream>
using namespace std;
struct Date
{
int year ;
int month;
int day;
};
int Daysofmonth[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
int day(Date);
int main()
{
Date date ;
int d1=0,d2=0,t;
cout <<"请输入第一个人的出生年月日:"<<endl;
cin>>date.year>>date.month>>date.day;
d1=day(date);
cout <<"请输入第二个人的出生年月日:"<<endl;
cin>>date.year >>date.month>>date.day;
d2=day(date);
t=d2-d1;
if (t<0)
t=-t;
cout <<"两人出生日期相差:"<<t<<"天";
return 0;
}
int day(Date d)
{
int i,days =0;
for (i=1900; i<d.year; i++)
{
days+=365;
if (d.year%400==0||(d.year%4==0&&d.year%100!=0))
days++;
}
for (i=1; i<d.month; i++)
days+=Daysofmonth [i];
days+=d.day;
if (d.year%400==0||(d.year%4==0&&d.year%100!=0))
days+=1;
return days;
}
运行结果: