DS博客作业01—日期抽象数据类型设计与实现
1
1.1 第一章绪论知识点思维导图
1.2 学习体会
- 理解了数据结构课程的特点:对数据和数据间的关系进行研究
- 在写大作业的过程中自学了部分c++语法
- 对时间复杂度,空间复杂度的计算依然不熟练,接下来会加强练习
2 大作业
2.1 设计日期的ADT类型
ADT Date{
数据对象:
D = {year,month,day | year,month,day属于int类型}
数据关系:
R = {<year,month>,<month,day>}
数据操作:
Status InitDate(DATE &date, ElemType year, ElemType month, ElemType day, ofstream &outfile);
//操作结果: 创建日期结构体
Status DestroyDate(DATE &date);
//操作结果: 销毁日期结构体
Status LeapYear(DATE date);
//操作结果: 判断是否为闰年,是返回1,否返回0
Status EngMonth(DATE date, ofstream &outfile);
//操作结果: 输出月份对应英文
Status Week(DATE date, ofstream &outfile);
//操作结果: 计算日期对应星期,输出结果
Status IsDate(DATE date);
//操作结果: 判断是否为合法日期,是返回1,否返回0
Status AddDate(DATE date, ofstream &outfile);
//操作结果: 将日期加上特定天数,输出结果
Status CmpDate(DATE date, ofstream &outfile);
//操作结果: 与输入日期进行比较,输出比较结果
}ADT Date
2.2 数据抽象:头文件
common.h
date.h
2.3 数据封装说明
1.InitDate
2.DestroyDate
3.LeapYear
4.EngMonth
5.Week
6.IsDate
7.AddDate
8.CmpDate
3 结果展示
input.txt
控制台显示
output.txt
4 调试碰到的问题
- 对c++语法不熟练造成大量错误
- 写文件时未指定文件名造成野指针