第十七周 【项目4-日期结构体】(2)
问题及代码:
/*
*Copyright (c) 2014,烟台大学计算机学院
*ALL right reserved
*文件名:日期结构体
*作者;童宇
*完成日期:2014年月日
*版本号v1.0
*问题描述:定义一个结构体变量(包括年、月、日)
*输入描述:输入两个人的生日
*程序输出:该日是该年的第几天。
*/
#include <iostream>
using namespace std;
int A(int ,int ,int );
struct Date
{
string name;
int year;
int month;
int day;
};
int main()
{
Date date1,date2;
cout<<"请输入两个人的姓名和生日:\n ";
cout<<"请输入第一个人的姓名和生日(生日输入顺序为年,月,日):\n ";
cin>>date1.name>>date1.year>>date1.month>>date1.day;
cout<<"请输入第二个人的姓名和生日(生日输入顺序为年,月,日):\n ";
cin>>date2.name>>date2.year>>date2.month>>date2.day;
int days1,days2,c;
days1=A(date1.year,date1.month,date1.day);
days2=A(date2.year,date2.month,date2.day);
c=days1-days2;
if(c<0)
c=-c;
cout<<date1.name<<"和"<<date2.name<<"的生日相差"<<c<<"天."<<endl;
return 0;
}
int A(int y,int m,int d)
{
int s=0;
while(m>0)
{
m--;
switch(m)
{
case 2:
s=s+28;
break;
case 4:
case 6:
case 9:
case 11:
s=s+30;
break;
case 1:
case 3:
case 5:
case 7:
case 8:
case 10:
case 12:
s=s+31;
break;
}
}
s=s+d;
while(y>1850)
{
if((y%4==0&&y%100!=0)||y%400==0)
{
s=s+366;
}
else
{
s=s+365;
}
y--;
}
return s;
}
运行结果:
还没有评论,来说两句吧...