代码改变世界

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

2019-03-08 00:50  HappyBoy~  阅读(308)  评论(0编辑  收藏  举报

1.思维导图及学习体会(2分)

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

1.2 学习体会

1.C语言的很多知识点都学得不理想。之前的C语言对于我来说,难度确实很大,但是数据结构不管能不能学好,我都想并尽全力。

2.听了老师讲课之后,数据结构里可以运用C++的语法,好像觉得C++在很多地方比C语言好用,算法也有了初步的认。

3.通过日期抽象数据类型设计与实现,对C++运用有细小的了解,算法也有了初步的认识。

2.大作业作业内容 (6分)

2.1 设计日期的ADT类型(1分)

ADT Date{
数据对象:D={year,month,days|year,month,days属于int类型}
数据关系:R1={<year,month>,<year,days>}
数据操作:
string InitDate(Date &date, int year, int month, int days);
//初始化日期
//操作结果:构造了日期数据结构Date,其中year,month,days分别为Date中的年,月,日
string OutDate(Date date);
//初始条件:date存在,文件打开成功,日期日期满足基本条件
//操作结果:将日期以 XXXX XX XX 的格式返回
Status IsLeapyear(Date date);
//初始条件:date存在,文件打开成功,日期日期满足基本条件
//操作结果:确定是不是闰年
string WhichWeek(Date date);
//初始条件:date存在,文件打开成功,日期日期满足基本条件
//操作结果:返回星期
string WhichMonth(Date date);
//初始条件:date存在,文件打开成功,日期日期满足基本条件
//操作结果:返回月份的英文名
Date AddDate(Date date, int days);
//初始条件:date存在,文件打开成功,日期日期满足基本条件
//操作结果:返回增加天数后的日期
char Compare(Date date, Date otherDate);
//初始条件:date存在,文件打开成功,日期日期满足基本条件
//操作结果:比较日期的关系,根据关系返回'<','>','='
int NewLegal(int*date);
//初始条件:三元组date存在。
// 操作结果:判断日期是否合法,合法返回1,不合法返回0
}ADT Triplet

2.2.数据抽象:头文件)

include "Common.h"

2.3数据封装说明

(1)确定日期是不是合法

(2)判断是否为闰月

(3)星期和月份的函数![]

(https://img2018.cnblogs.com/blog/1484634/201903/1484634-20190308004635703-949873244.png)

(4)main函数

3.结果展示(1分)

4.调试碰到问题(1分)

1.大部分不懂得地方都是同学帮我的,C++的语法也是有同学讲我。
2.起先不知道该如何下手,所以只能借鉴同学的代码,在参考。