第17周项目4-日期结构体之日期之差
2014-12-20 20:15
246 查看
/* * Copyright (c) 2014, 烟台大学计算机学院 * All rights reserved. * 文件名称:test.cpp * 作 者:刘畅 * 完成日期:2014 年 12 月 19 日 * 版 本 号:v1.0 * * 问题描述:定义一个表示结构体变量(包括年、月、日),输入两个人的生日保存在结构体中,求两个人相差多少天 * 输入描述:分别输入甲和乙的出生日期, * 程序输出:输出两人天数之差。
#include <iostream> using namespace std; struct Date { int year; int month; int day; }; int Day(int y,int m,int d); int main() { Date date1,date2,date3; cout<<"请输入甲的出生日期:"; cin>>date1.year>>date1.month>>date1.day; cout<<"请输入乙的出生日期:"; cin>>date2.year>>date2.month>>date2.day; int days,i,m=0; if (date1.year>date2.year) { date3=date1; date1=date2; date2=date3; } for (i=date1.year; i<date2.year; ++i) { if ((i%4==0&&i%100!=0)||i%400==0) m++; } days=(date2.year-date1.year)*365+m+Day(date2.year,date2.month,date2.day)-Day(date1.year,date1.month,date1.day); cout<<"甲和乙的生日相差"<<days<<"天."; return 0; } int Day(int y,int m,int d) { int sum=d; for(int i=1; i<m; i++) { if(i==1||i==3||i==5||i==7||i==8||i==10||i==12) sum+=31; else if (i==4||i==6||i==9||i==11) sum+=30; else if((y%4==0&&y%100!=0)||y%400==0) sum+=29; else sum+=28; } return sum; }
运行结果:
学习心得:
醉了,突然发现漏掉项目4的第二题,果然还是粗心啊,赶紧补做。
程序是做出来了,可是输入了几种情况用手机一天一天的算好像总差那么一两天,但也不知道是错了还是对了,看了看别人的,差得也不是一点半点。。。
相关文章推荐
- 2014秋C++第17周 项目4参考 日期结构体
- 第17周项目4-日期结构体
- 第17周项目4.1 日期结构体——该年第几天
- 第17周【项目 4 - 日期结构体】(1)
- 第17周项目4-日期结构体(生日差)
- 第17周项目4.2 日期结构体——生日相差几天
- 第17周项目4-日期结构体
- 第17周项目4--日期结构体
- 第17周项目4-日期结构体(1)当年第几天
- 第17周项目4-日期结构体(1)
- 第17周项目4-日期结构体之一
- 第17周项目4(2)-日期结构体
- 第17周项目4-日期结构体(2)生日差几天
- 第17周项目4--日期结构体
- 第17周 项目4- - 日期结构体
- 第17周上机实践项目4——日期结构体(1)
- 第17周上机实践项目4——日期结构体(2)
- 第17周项目4-日期结构体(2)
- 第17周项目4-日期结构体
- 第17周项目4—日期结构体