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

1.本章学习总结

1.1思维导图

1.2 本章学习体会

新知识的学习:相较于上学期C语言对于代码编程的学习,数据结构要显得理论性比较强,较为抽象,难度明显加大了,有些难以理解,需要多花一些时间,课前的预习变得更加必要。在第一周就要完成一份大作业显得有些吃力,第一次开始自主学习C++也让人有些头疼,在写大作业的过程中也感受到自己对于编程稍显生疏。接下来的学习过程中,要对于书上知识点理解掌握同时,也要开始对于代码的练习!
完成大作业的过程:刚开始接触三元组其实很懵,不太明白到底是个什么概念的东西,所以一开始拿着题目无从下手,起初参照了老师之前发的Devc文件,建项目划分大概结构(吃了课设的亏,这次终于记得要先建项目了!!!),看了几遍代码之后才有所思路,因为主要是要用C++语言进行编程,不太懂,只能一点一点百度,循环之类的东西一直是我的弱点,大概是逻辑思维不太行,参考了同学的建议,虽然是完成了,但还是比较基础地完成,下一次要变好一点鸭!

2.大作业

2.1设计日期的ADT类型

   ADT Date{
                    数据对象:
                                    D={Year,Month,Day|Year,Month,Day属于int类型}
                    数据关系:
                                    R={<Year,Month>,<Month,Day>}
                    数据操作:
                                   Status InitDate(Date &L,int Year,int Month,int Day);
                                        //操作结果:构造日期数据结构Date Year/Month/Day
                                   Status ReasonDate(Date &L,int Year,int Month,int Day);
                                        //操作结果:判断日期是否合法 
                                   Status LeapYear(Date &L);
                                        //操作结果:判断是否是闰年 
                                   Status WeekDay(Date &L);
                                        //操作结果:判断星期几 
                                   Status MonthName(Date &L);
                                        //操作结果:输出月份名 
                                   Status NewDate(Date &L,ofstream &writeinFile);
                                        //操作结果:返回n天后的新日期 
                                   Status RelationDate(Date &L,ofstream &writeinFile);
                                        //操作结果:返回两个日期之间的关系                                     }ADT Date

2.2数据抽象:头文件——参考Devc 三元组代码

  • Common.h——宏定义
  • triplet.h——头文件

2.3数据封装说明

(1)构造日期数据结构Date

(2)判断日期是否合法


(3)判断是否是闰年

(4)判断星期几

(5)输出月份名

(6)返回n天后的新日期

(7)返回两个日期之间的关系

(8)main.cpp


3.结果展示

(1)read.txt


(2)运行结果

(3)非法数据

  • 从文件读取的日期不合法,无后续操作
  • 输入的日期不合法,重新输入,再进行比较

4.调试碰到问题

  • << >>分不清楚
    笑哭,这个尖括号写着写着就马虎了。。。
  • 增加n天输出新日期的写法有点迷糊
    借鉴了一下优秀同学的代码
  • 开始不知道可以把文件指针作为参数,传给函数
    后来通过百度掌握了这种操作,下次不能忘记指针前 & !!!!
  • 不明白怎么直接将字符输出
    借用数组,通过返回的数字作为数组下标输出对应的星期和月份英文名
  • 没有避免非法数据对于程序的影响
posted @ 2019-03-08 21:07  何汐  阅读(230)  评论(2编辑  收藏  举报