DS博客作业01--日期抽象数据类型设计与实现
1.思维导图及学习体会
1.1第一章绪论知识点思维导图
1.2 学习体会
上个学期因为本人水平不足,C语言的学习拖延了很多,导致现在的编程逻辑还是很差劲。我希望能尽力去弥补思维上的不足。
现在又从C语言转换成了C++,两者的区别更加多样,想理解需要一定的努力。
2.大作业作业内容
2.1 设计日期的ADT类型
ADT Date{
数据对象:
D = {year,month,day | year,month,day属于int类型}
数据关系:
R = {<year,month>,<month,day>}
数据操作:
int InitDate( Date &date ,ElemType year, ElemType month, ElemType day);
//初始化日期
void Leap( ElemType year , ofstream &write);
//判断是否闰年
int MonthName( Date date, ofstream &write);
//返回月份的英文名
int Week(Date date,ofstream &write);
//返回这个日期是星期几
int Add(Date date,ofstream &write);
void Logic(Date date,ofstream &write);
//比较当前日期与otherDate的逻辑关系
int Judge(Date date,ofstream &write);
//操作结果:判断是否是合法数据 是返回1 否则返回0
void Destroy(Date &date);
//销毁Date
}ADT Date
2.2.数据抽象:头文件
2.3数据封装说明
common.h
(1)构造日期数据类型函数,并分别判断情况并返回值
(2)表示日期的格式
(3)判断是否是闰年
(4)判断月份,用switch分别表示
(5)运用基姆拉尔森计算公式算出是星期几
(6)给出当前的天数并在基础上增加days天
(7)判断日期和其他日期的逻辑关系
3.结果展示
由于主函数有错误 程序未能正常运行
4.调试碰到问题
- 1.主函数调用还是要用到上个学期的很多知识,有一些困难。
- 2.C++的逻辑和语法和C来说有些不同,有的地方并不能用普通的逻辑去思考。
- 3.代码冗长,几乎每一次都无法成功运行,我在自行编写后一直无法正常运行,只能参考同学的作品。