第十七周项目4-日期结构体(2)
2014-12-22 13:02
246 查看
/* *Copyright (c)2014,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:days.cpp *作 者:梁璨 *完成日期:2014年12月22日 *版 本 号:v1.0 * *问题描述:求两人生日相差几天。 *程序输入:两人生日。 *程序输出:两人生日相差几天。 */ #include <iostream> #include <cmath> using namespace std; int day(int y, int m, int d); struct Date { int year; int month; int day; }; int main() { Date date1,date2; int sum1,sum2,s=0; cout<<"请输入第一个人的生日:"; cin>>date1.year>>date1.month>>date1.day; cout<<"请输入第二个人的生日:"; cin>>date2.year>>date2.month>>date2.day; sum1=day(date1.year,date1.month,date1.day); //先分别求是当年第几天 sum2=day(date2.year,date2.month,date2.day); if(date1.year>date2.year) //分两种情况进行计算 { while(date1.year>=date2.year) { date1.year--; if(((date1.year%4==0&&date1.year%100!=0)||date1.year%400==0)) //判断是否闰年 s+=366; else s+=365; date1.year--; } sum1+=s; sum1-=sum2; cout<<"这两人的生日相差"<<sum1<<"天."<<endl; } else if(date1.year<date2.year) { while(date2.year>=date1.year) { date2.year--; if(((date2.year%4==0&&date2.year%100!=0)||date2.year%400==0)) s+=366; else s+=365; date2.year--; } sum2+=s; sum2-=sum1; cout<<"这两人的生日相差"<<sum2<<"天."<<endl; } else cout<<"这两人的生日相差"<<fabs(sum1-sum2)<<"天."<<endl; //直接求天数的绝对值 return 0; } int day(int y, int m, int d) //求当年第几天 { int sum=0,n; for(n=1; n<m; ++n) { if ((y%4==0&&y%100!=0)||y%400==0) { if(n==1||n==3||n==5||n==7||n==8||n==10||n==12) sum+=31; else if (n==2) sum+=29; else sum+=30; } else { if(n==1||n==3||n==5||n==7||n==8||n==10||n==12) sum+=31; else if (n==2) sum+=28; else sum+=30; } } sum+=d; return (sum); }运行结果:
相关文章推荐
- 第十七周 项目四--日期结构体(1)-该年的第几天
- 第十七周项目4--日期结构体
- 第十七周项目四日期结构体(2)两个人的生日相差多少天
- 第十七周项目4日期结构体
- 第十七周 项目-4.日期结构体(计算该日是该年的第几天)
- 第十七周 【项目4 - 日期结构体】(1)
- 第十七周项目五—日期结构体
- 第十七周项目4-日期结构体(2 两同学生日差几天?)
- 第十七周项目四 日期结构体-(2)两人生日差几天
- 第十七周 项目4.2日期结构体(计算两个人的生日相差多少天)
- 第十七周项目四(2):日期结构体:生日差几天?
- 第十七周项目4-日期结构体(1)
- 第十七周上机项目4 日期结构体
- 第十七周项目 4 日期结构体——该年第几天
- 第十七周项目4-日期体结构 结构体练习
- 第十七周项目四——日期结构体(2)求出生日相差天数
- 第十七周项目四(1):日期结构体:该年第几天?
- 第十七周项目4 - 日期结构体(是当年的第几天)
- 第十七周 项目四:日期结构体
- 第十七周项目4---日期结构体1