DS博客作业01--日期抽象数据类型设计与实现

1.思维导图及学习体会

1.1 第一章绪论知识点思维导图

1.2 学习体会

比起上个学期的C语言,数据结构的难度明显加大了,有些部分难以理解,需要多花一些时间去理解;也因为刚刚开学,又突然增加C++的语法,有点力不从心,完成这次的大作业也略显生疏;但在同学的帮助或查阅资料的情况下,也基本完成了,在写大作业的过程中慢慢加深对一些知识的理解,接下来的学习要更加努力鸭!

2.大作业作业内容

2.1设计日期的ADT类型

ADT Date{
数据对象:D = {year,month,day | year,month,day属于I(I为整数集合)}
数据关系:R = {<year,month>,<month,day>|year是年,month是月,day是日}
基本操作:
Status InitTriplet(DATE &T,int year,int month,int day);
    //操作结果:构造了三元组T
Status Judge(DATE T);
    //操作结果:判断日期是否合法
Status ErrorPrint(DATE T,int flag,fstream &outfile);
    //操作结果:当日期不合法时输出提示
Status YearJudge(int year);
    //操作结果:判断是否是闰年还是平年 
Status GetWeekday(int year,int month,int day);
    //操作结果:判断星期几。
Status GetMonth(DATE T,fstream &outfile);
    //操作结果:输出月份英文名。
Status DateChange(DATE T,DATE T1,int days,fstream &outfile); 
    //操作结果:得出当前日期增加之后的日期
Status Compare(DATE date,fstream &outfile);
    //操作结果:比较日期间的逻辑关系
}ADT Date

2.2 数据抽象:头文件

Date.h

2.3 数据封装说明

3.1.1 构造三元组函数

3.1.2 日期合法性判断的函数

3.1.3 提示日期不合法的函数

3.1.4 闰年判断函数

3.1.5 星期几判断函数

3.1.6 月份判断函数

3.1.7 天数增加计算函数

3.1.8 日期逻辑比较函数

3.结果展示



4.调试碰到问题

  • 面对题目,开始动手的时候有点茫然,不知该从何下手
  • C++语法的cin、cout中的<< >>分不清楚,刚开始经常混在一起
  • 关于增加天数的部分不太会写,后来请教了同学,解决了这个问题
  • 完成大作业的过程中也碰到许多问题,也通过查阅或者参考同学的优秀代码得到解决
posted @ 2019-03-10 20:00  _TY  阅读(260)  评论(1编辑  收藏  举报