版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、#include<iostream.h>class dateint year,month,day; public: date(int y,int m,int d) /日期参数int型的构造函数 year=y; month=m; day=d; date(char *s) /日期参数为字符串的构造函数 year=(int (s0)-48)*1000+(int (s1)-48)*100+(int (s2)-48)*10 +(int (s3)-48); /转化为数据成员年 month=(int (s4)-48)*10+(int (s5)-48);/转化为数据成员月 day=(int (s6
2、)-48)*10+(int (s7)-48); /转化为数据成员日 void input() /输入日期 cin>>year; cin>>month; cin>>day; void output() /输出日期 cout<<year<<"年"<<month<<"月"<<day<<"日"<<endl; date nextdate() /计算下一日函数 int test13=0,31,28,31,30,31,30,31,
3、31,30,31,30,31;/平年每月的天数分布 int i=month; if(i=2&&(year%4=0&&year%100!=0)|(year%400=0) /月份为2月且是闰年 if(day=29) date a(year,3,1); return a; /刚好是最后一天,返回3月1日 else date a(year,2,day+1); return a; /否则返回日期加1 else if(i=12&&day=31) /若是最后一天就返回下年的第一天 date a(year+1,1,1); return a; else /其他情况
4、 if(day=testi) date a(year,i+1,1); return a; /刚好最后一天,返回下个月1日 else date a(year,i,day+1); return a; /否则返回日期加1 date pirrodate() /计算前一日函数 int test13=0,31,28,31,30,31,30,31,31,30,31,30,31;/平年每月天数分布 int i=month; if(i=3&&(year%4=0&&year%100!=0)|(year%400=0)/月份为三月且是闰年 if(day=1) date a(year,2
5、,29); return a; /刚好第一天,返回2月29日 else date a(year,3,day-1); return a; /否则返回日期减1 else if(i=1&&day=1) /若是第一天就返回上一年最后一天 date a(year-1,12,31); return a; else /不是闰年3月的情况 if(day=1) date a(year,i-1,testi-1); return a;/刚好第一天,返回前个月最后一天 else date a(year,i,day-1); return a; /否则返回日期减1 date dateafter(int d
6、) int test13=0,31,28,31,30,31,30,31,31,30,31,30,31;/平年每月天数分布 int m=month; int y=year; while(day+d>=28) /当日加上d日大于=28,要进行延伸分析 if(m=2) /2月份情况 if(y%4=0&&y%100!=0)|(year%400=0) /是闰年 if(day+d-29)>0) /日期加d减29天大于0,表明延伸到下个月 d=d-29; /d减29 m+; /月份加1 else break; else if(day+d-28)>0) /不是闰年 d=d-2
7、8; /d减28 m+; /月份加1 else break; else /其他月份情况 if(day+d-testm>0) /日期加d减当月天数大于0,表明延伸到下个月 d=d-testm; /d循环减当月天数 m+; /月份加1 else break; if(m>12) /月份超过12,表明延伸到下一年 m=m-12; y+; date a(y,m,d+day); /返回d天后日期 return a; date datebefore(int d) int test13=0,31,28,31,30,31,30,31,31,30,31,30,31;/平面每月天数分布 int m=mo
8、nth; int y=year; while(day-d)<=0) /日期减d小于0,要进行延伸分析 if(m=3) /3月分情况 if(y%4=0&&y%100!=0)|(year%400=0) /是闰年 d=d-29; /d减29 m-; /月份减1 else d=d-28; /不是闰年,d减28 m-; /月份减1 else /其他月份情况 d=d-testm; /d循环减当月天数 m-; /月份减1 if(m<=0) /月份小于0 ,表明要延伸到前一年 m=m+12; y-; date a(y,m,day-d); /返回d天前日期 return a; ;vo
9、id main()date t(0,0,0); date a("20071231"); /用字符串构造一个日期 a.output(); t=a.nextdate(); /下一日日期 cout<<"下一日:" t.output(); date c("20080101"); c.output(); t=c.pirrodate(); /前一日日期 cout<<"前一日:" t.output(); date b(0,0,0); cout<<"输入一个日期:"<<endl; /输入一个日期 b.input(); t=b.dateafter(90); /90天后日
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2026年常德市高三年级模拟考试化学
- 厦门南洋职业学院《文献信息检索与利用》2025-2026学年期末试卷
- 福建中医药大学《中学生认知与学习》2025-2026学年期末试卷
- 南昌航空大学《中国传统文化》2025-2026学年期末试卷
- 福建农林大学《侵权责任法》2025-2026学年期末试卷
- 安庆职业技术学院《船舶消防》2025-2026学年期末试卷
- 长治学院《中国对外贸易》2025-2026学年期末试卷
- 安徽扬子职业技术学院《社会工作导论》2025-2026学年期末试卷
- 皖北卫生职业学院《律师实务》2025-2026学年期末试卷
- 延边职业技术学院《民法总论》2025-2026学年期末试卷
- 婴幼儿精细动作训练指导
- 机械设计制造自动化试题集及参考答案
- 厨房监控系统设计方案与安装指导
- 工贸行业安全监管课件
- 全科医学科常见疾病诊断鉴别要点培训指南
- 2025年放射工作人员考试题及答案 (含各题型)
- 2025年辽宁卷历史高考试卷(原卷+答案)
- SY4203-2019石油天然气建设工程施工质量验收规范站内工艺管道检验批表格
- 青少年口才课程教学课件
- 养马配种知识培训班课件
- 碳酸钙深加工项目预可行性研究报告
评论
0/150
提交评论