- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 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
您可能关注的文档
最近下载
- (完整版)建设甲方、施工方全套收发文登记表格.pdf VIP
- 弹性力学仿真软件:SimScale:材料属性与弹性模量在SimScale中的设置.pdf VIP
- 小学美术四年级上册完整教案.docx VIP
- 宋城千古情的经营模式探究.doc VIP
- (人教PEP版2025新教材)四年级英语上册unit 5 全单元课件.pptx
- 北京市2025年高考:《物理》考试真题(含答案).pdf VIP
- 四库全书基本概念系列文库:榆社县志.pdf VIP
- XX水库工程大坝基础垫层混凝土施工方案.docx VIP
- 感染性休克课件.pptx
- 人教部编版二年级语文下册第19课《大象的耳朵》优质课件.pptx VIP
原创力文档


文档评论(0)