日期和时间课程设计报告

日期和时间课程设计报告

ID:25456002

大小:395.50 KB

页数:54页

时间:2018-11-20

日期和时间课程设计报告_第1页
日期和时间课程设计报告_第2页
日期和时间课程设计报告_第3页
日期和时间课程设计报告_第4页
日期和时间课程设计报告_第5页
资源描述:

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

1、日期和时间课程设计报告1.功能1.1课程设计题目功能:定义了日期类、时间类和日期时间综合类,重载了+、-、++、--、=、>=、<=、==、!=等运算符,可以设置时间、日期,比较时间和日期的大小,可以进行时间、日期对象的运算(加减),并按多种格式输出结果。1.2思想和方法:通过重载运算符使运算符实现对对象的加减运算,并在结果输出时自动载入闰年判断程序,实现结果的智能化输出;将菜单输出和结果输出隔开,防止混淆;日期类中将星期五单独定义,实现对错误的处理;通过拷贝函数的运用,实现“+”、“-”的重载。1.

2、3增加的新功能:增加了对运算起始日期时间的修改和各操作菜单的退出功能。2.详细设计2.1c_Time类:重载了+、-、++、--、==、!=、<、>、<=、>=运算符;将时间是否超过或少于当天设置为静态静态成员函数,设置了两个输出函数;“-”中,优化了结构,以四行将原程序代替,将少于一天的情况在后面列出;“+”中,将数值超过范围的情况的处理在后面列出。2.2c_Date类:重载了+、-、++、--、==、!=、<、>、<=、>=运算符;设置了两个输出函数;简化了“+”运算符,同时修正了错误;“+”“-

3、”中,将数值超过范围的情况的处理在后面列出;在第一个函数中,对当前时间日期进行了赋值,是起始日期时间的设定函数。2.3TDmanage类:重载了+、-、++、--、==、!=、<、>、<=、>=运算符;设置为c_Time和c_Date的派生类,可以实现对时间和日期的混合加减比较。2.4TDglobal类:为输入输出的专门的类,重载了<<,>>运算符。2.5error类:为专门处理错误的类,包括对原日期时间少于1900的处理,以及在“+”、“-”中结果少于1900的处理,以及输出时日期时间少于1900的

4、处理。2.6main类:以swith型进行菜单的输出,主要是对所有程序的综合处理,对菜单项的编辑,是最后的运行程序。3.调试过程3.1出现了编译时无问题,而调试时提示没有相关函数的问题,编译结束后载入相关文件解决了问题。3.2无法有效退出,将函数改为swith型解决问题。3.3出现了输出结果与预期不符的状况,更改了输出变量名解决问题。3.4最开始时没有设置对“+”的错误类进行设置,由于不太可能遇到相关情况,没有注意,后来看课本才发现。4.输入输出开始界面时间格式的更改与否主操作菜单时间类操作,以“+”

5、为例其后继续为主操作菜单日期类操作,以“-”为例综合类操作,以比较为例1.总结本程序大量运用了运算符的重载,并且用到了多文件的处理,对以后处理或创建大程序很有帮助。而且运算符重载实际上是有很多技巧的,最一般的“+”“-”重载,需要考虑输入的数据的类型及对输出结果的要求。另外错误处理也是个难关,即“error”类,不仅要考虑原日期时间的处理,还要考虑对运算符错误的处理,很有可能会落下某些情况,需要不断调试以保证每种情况都考虑到了。这个程序对个人对类处理必须相当熟悉,几乎将所有可能的情况都涉及了,而且难度

6、不算太大,对于刚接触c++没有太长时间的我们是个很好的练习课程。2.附件源程序://cTime_t.hBegin#include#include#ifndefcTime_t_h#definecTime_t_hclasscTime_t{staticintFlagMoreDay;staticintFlagLessDay;staticintformat;intSeconds;intMinutes;intHours;structtm*CurrentTime;time_t

7、time_date;public:cTime_t();cTime_t(constcTime_t&T);cTime_t(inthour,intmin=0,intsec=0):Seconds(sec),Minutes(min),Hours(hour){};~cTime_t(){};constcTime_t&operator=(constcTime_t&T);inlinevoidSetSec(intsec){Seconds=sec;}inlinevoidSetMin(intmin){Minutes=min;

8、}inlinevoidSetHour(inthour){Hours=hour;}voidprint()const;voidprint1()const;inlineintGetSec()const{returnSeconds;}inlineintGetMin()const{returnMinutes;}inlineintGetHour()const{returnHours;}intgetFlagMoreDay(){returnFlagMoreDay;}in

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

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

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