日期和时间课程设计报告.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
日期和时间课程设计报告

日期和时间课程设计报告 功能 1.1课程设计题目功能:定义了日期类、时间类和日期时间综合类,重载了+、-、++、--、=、=、=、==、!=等运算符,可以设置时间、日期,比较时间和日期的大小,可以进行时间、日期对象的运算(加减),并按多种格式输出结果。 1.2思想和方法:通过重载运算符使运算符实现对对象的加减运算,并在结果输出时自动载入闰年判断程序,实现结果的智能化输出;将菜单输出和结果输出隔开,防止混淆;日期类中将星期五单独定义,实现对错误的处理;通过拷贝函数的运用,实现“+”、“-”的重载。 1.3增加的新功能:增加了对运算起始日期时间的修改和各操作菜单的退出功能。 详细设计 2.1 c_Time类:重载了+、-、++、--、==、!=、、、=、=运算符;将时间是否超过或少于当天设置为静态静态成员函数,设置了两个输出函数;“-”中,优化了结构,以四行将原程序代替,将少于一天的情况在后面列出;“+”中,将数值超过范围的情况的处理在后面列出。 2.2 c_Date类:重载了+、-、++、--、==、!=、、、=、=运算符;设置了两个输出函数;简化了“+”运算符,同时修正了错误;“+”“-”中,将数值超过范围的情况的处理在后面列出;在第一个函数中,对当前时间日期进行了赋值,是起始日期时间的设定函数。 2.3 TDmanage类:重载了+、-、++、--、==、!=、、、=、=运算符;设置为c_Time和c_Date的派生类,可以实现对时间和日期的混合加减比较。 2.4 TDglobal类:为输入输出的专门的类,重载了,运算符。 2.5 error类:为专门处理错误的类,包括对原日期时间少于1900的处理,以及在“+”、“-”中结果少于1900的处理,以及输出时日期时间少于1900的处理。 2.6 main类:以swith型进行菜单的输出,主要是对所有程序的综合处理,对菜单项的编辑,是最后的运行程序。 调试过程 3.1出现了编译时无问题,而调试时提示没有相关函数的问题,编译结束后载入相关文件解决了问题。 3.2无法有效退出,将函数改为swith型解决问题。 3.3出现了输出结果与预期不符的状况,更改了输出变量名解决问题。 3.4最开始时没有设置对“+”的错误类进行设置,由于不太可能遇到相关情况,没有注意,后来看课本才发现。 输入输出 开始界面 时间格式的更改与否 主操作菜单 时间类操作,以“+”为例 其后继续为主操作菜单 日期类操作,以“-”为例 综合类操作,以比较为例 总结 本程序大量运用了运算符的重载,并且用到了多文件的处理,对以后处理或创建大程序很有帮助。而且运算符重载实际上是有很多技巧的,最一般的“+”“-”重载,需要考虑输入的数据的类型及对输出结果的要求。另外错误处理也是个难关,即“error”类,不仅要考虑原日期时间的处理,还要考虑对运算符错误的处理,很有可能会落下某些情况,需要不断调试以保证每种情况都考虑到了。这个程序对个人对类处理必须相当熟悉,几乎将所有可能的情况都涉及了,而且难度不算太大,对于刚接触c++没有太长时间的我们是个很好的练习课程。 附件 源程序: //cTime_t.h Begin #include iostream.h #include time.h #ifndef cTime_t_h #define cTime_t_h class cTime_t { static int FlagMoreDay; static int FlagLessDay; static int format; int Seconds; int Minutes; int Hours; struct tm *CurrentTime; time_t time_date; public: cTime_t(); cTime_t(const cTime_t T); cTime_t(int hour,int min=0,int sec=0):Seconds(sec),Minutes(min),Hours(hour) {}; ~cTime_t(){}; const cTime_t operator = (const cTime_t T); inline void SetSec (int sec) {Seconds=sec;} inline void SetMin (int min) {Minutes=min;} inline void SetHour (int hour) {Hours=hour;} void print() const; void print1() const; inline int GetSec () const {return Seconds;} inline int G

文档评论(0)

wnqwwy20 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

版权声明书
用户编号:7014141164000003

1亿VIP精品文档

相关文档