/*
*All rights reserved.
*文件名称:main.cpp
*作 者:姜 甜 甜
*完成日期:2014年12月22日
*版 本 号:v1.0
*
*问题描述:输入年月日,输入两个人的出生日期,求相差几天
*输入描述:输入2个年月日
*程序输出:输出天数
*/
#include <iostream>
using namespace std;
struct Date
{
int year;
int month;
int day;
} date1,date2;
int fac(Date date);
int main()
{
cout<<"两人的生日分别是:\n";
cin>>date1.year>>date1.month>>date1.day;
cin>>date2.year>>date2.month>>date2.day;
int day1,day2,days;
day1=fac(date1);
day2=fac(date2);
days=day1-day2;
if(days<0)
days=-days;
cout<<"两人生辰相差"<<days<<"天";
return 0;
}
int fac(Date date)
{
int days_month[]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int n=0;
for(int i=0;i<date.month;i++)
{
n+=days_month[i];
}
if(((date.year%4==0&&date.year%100!=0)||date.year%400==0)&&date.month>2)
n+=1;
n+=date.day;
return n;
}
小结:利用数组,将月份天数变得更简单;