问题及代码:
/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:day.cpp
*作 者:赵敏
*完成日期:2014年12月22日
*版 本 号:v1.0
*
*问题描述:定义一个结构体变量(包括年、月、日),输入两个人的生日输出他们相差几天。
*/
#include <iostream>
using namespace std;
struct Date
{
int year;
int month;
int day;
};
int day(Date);
int main()
{
Date date;
int d1=0,d2=0,t;
cout<<"第一个人的出生日期是:";
cin>>date.year>>date.month>>date.day;
d1=day(date);
cout<<"第二个人的出生日期是:"5;
cin>>date.year>>date.month>>date.day;
d2=day(date);
t=d2-d1;
cout<<"他们相差的天数为:"<<t<<endl;
return 0;
}
int day(Date d)
{
int days=0,i;
for(i=1990;i<d.year;i++)
{
days+=365;
if((i%4==0&&i%100!=0)||i%400==0)
days+=366;
}
for(i=1;i<d.month;i++)
{
switch(i)
{
case 2:
days=days+(((d.year%4==0&&d.year%100!=0)||d.year%400==0)?29:28);
break;
case 4:
case 6:
case 9:
case 11:
days=days+30;
break;
default:
days=days+31;
break;
}
}
days=days+d.day;
return days;
}
运行结果: