c++课程设计——日期类设计报告

c++课程设计——日期类设计报告

ID:25746772

大小:122.18 KB

页数:17页

时间:2018-11-22

c++课程设计——日期类设计报告_第1页
c++课程设计——日期类设计报告_第2页
c++课程设计——日期类设计报告_第3页
c++课程设计——日期类设计报告_第4页
c++课程设计——日期类设计报告_第5页
资源描述:

《c++课程设计——日期类设计报告》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、日期类设计报告1.设计题目设计一个日期类,(学号尾号2、5、8完成)要求:2.设计要求l重载带参数构造函数(intyear,intmonth,intday)和默认构造函数,前者要求不合要求的数据(年月日超出范围)抛出异常l计算出该日是星期几,(网上找公式)。l重载“+”操作,一个日期对象和天数相加(符合交换律)。l重载“-”操作,两天日期对象相减返回相差天数。l重载“+=”操作当前日期加天数l重载输入输出操作。3.设计分析由题中要求可以知道,首先要设计一个日期类(classCdate),还要有构造函数,明白函数的带参与不带参的区别;而且在日期类之中需要设计正

2、确的日期格式,若不正确则实现抛出异常,C++中对异常的处理分为抛出异常、捕获异常、处理异常;在此处只要求抛出异常即可,接下来的实现输入日期计算星期几的代码,。由题可以进行网上的搜索,这个应该行对简单!之后就是重载的操作啦!!4.设计主要模块(代码实现)1.定义一个日期类classCDate{public:CDate(){}CDate(inty,intm,intd);voidfun();voiddisplay();friendCDateoperator+(intd,CDatedt);friendCDateoperator-(CDate&dt1,CDate&dt

3、2);friendCDate&operator+=(CDate&a1,intd);friendstd::ostream&operator<<(std::ostream&os,CDate&dt);friendstd::istream&operator>>(std::istream&is,CDate&dt);boolisleapyear();//润年的判定boolstatus;boolcheck();voidgettian();private:intyear,month,day,day1;intd,D,D1,D2,D3;};CDate::CDate(inty,i

4、ntm,intd):year(y),month(m),day(d){}1.实现计算星期几:#includeusingnamespacestd;classDate{intyear,month,day;boolisleap(inti)const{returni%400==0

5、

6、i%4==0&&i%100!=0;//闰年的判定}public:Date(inty,intm,intd):year(y),month(m),day(d){}voidprint()const{char*s[]={"星期日,"星期一","星期二","星期三","星期四","

7、星期五","星期六"};intd[13]={0,31,28,31,30,31,30,31,31,30,31,30};intsum=0;inti;if(isleap(year))d[2]++;for(i=1;i>year>>month>>day&&year+month+day){Dated(year,mo

8、nth,day);d.print();}}1.重载日期加减的操作:CDateoperator-(CDate&dt1,CDate&dt2)//重载-计算两日期对象的天数差;{CDatedt3;if(dt1.year%4==0&&dt1.year%100!=0

9、

10、dt1.year%400==0){mon_day[1]=29;}if(dt2.year%4==0&&dt2.year%100!=0

11、

12、dt2.year%400==0){mon_day[1]=29;}dt1.D=(dt1.year-1)*365+(dt1.year-1)/4-(dt1.year-1)/10

13、0+(dt1.year-1)/400+dt1.D1+dt1.day;for(inti=0;i<=dt1.month-1;i++){dt1.D1+=mon_day[i];}dt2.D2=(dt2.year-1)*365+(dt2.year-1)/4-(dt2.year-1)/100+(dt2.year-1)/400+dt2.D3+dt2.day;for(intj=0;j<=dt2.month-1;j++){dt2.D3+=mon_day[j];}dt3.d=dt1.D-dt2.D2;returndt3;}1.调试运行图示1.判断日期格式是否正确2,输入日期并且

14、计算星期几,返回与系统中初始设定日期的相差天数:1.

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。