/*
*Copyright (c)2014,烟台大学计算机与控制工程学院
*All rights reserved.
*文件名称:gcd.cpp
*作 者:惠睿
*完成日期:2014年12月23日
*版 本 号:v1.0
*
*问题描述:用结构体编写程序,输出两人生日相差几天。
*程序输出:输出两人生日相差几天。
*/
#include <iostream>
using namespace std;
int days(int x,int y,int z);
struct Date
{
int year;
int month;
int day;
};
int main()
{
Date date;
int t,d1=0,d2=0;
cout<<"请输入第一个人的生日:";
cin>>date.year>>date.month>>date.day;
d1=days(date.year,date.month,date.day);
cout<<"请输入第二个人的生日:";
cin>>date.year>>date.month>>date.day;
d2=days(date.year,date.month,date.day);
t=d1-d2;
if(t<0)
{
t*=-1;
cout<<"两人生日相差"<<t<<"天"<<endl;
}
else
cout<<"两人生日相差"<<t<<"天"<<endl;
return 0;
}
int days(int x,int y,int z)
{
int a[13]= {0,31,28,31,30,31,30,31,31,30,31,30,31};
int b=0;
for(int i=1990; i<x; i++)
{
b+=365;
if((i%4==0 && i%100!=0) || i%400==0)
b+=1;
}
for(int j=1; j<y; j++)
b+=a[j];
b+=z;
if(((x%4==0 && x%100!=0) || x%400==0) && y>2)
b+=1;
return b;
}
运行结果:
知识点总结:熟悉运用结构体编程。