DS博客作业01--日期抽象数据类型设计与实现
1.思维导图及学习体会
1.1第一章绪论知识点思维导图
1.2 学习体会
理解三元组的含义理解了好久了,在写大作业的过程中慢慢加深对三元组的理解,刚开始的确很模糊,有点不知道他要干嘛,后来写的过程中才恍然大悟,但是写得差不多了,函数就没怎么改,就直接把三元组里的东西传递出去了【自闭】。代码里就只是把东西赋值给了date,所以在下面的三元组里注释了一下,三元组的东西。学习c++的语法花了一些时间,不过参考同学和百度的格式,还是比较快的可以上手。
2.大作业作业内容 (6分)
2.1 设计日期的ADT类型(1分)
ADT Date{
数据对象:D={year,month,day|year,month,day属于int类型}
数据关系:R1={<year,month>,<month,day>}
数据操作:
void InitDate (int year,int month,int day,ofstream &outFile);
//操作结果:构造了三元组T,元素e1,e2和e3的值分别被赋以参数v1,v2,v3的值。
Status LeapDate (int year,int month,int day);
//Status LeapDate (Date date);
//初始条件:三元组date已存在
//操作结果:得到是否为闰年
string Weekday (int year,int month,int day);
//string Weekday (Date date);
//初始条件:三元组date已存在
//操作结果:得到星期
string EnglishName (int year,int month,int day);
//string EnglishName (Date date);
//初始条件:三元组date已存在
//操作结果:得到月份的英文
void Days (int year,int month,int day,int addDay,ofstream &outFile);
//void Days (Date date,int addDay,ofstream &outFile);
//初始条件:三元组date已存在 ,传递增加的天数addDay,传递文件
//操作结果:得到增加后的天数
string OtherDate (int year,int month,int day,int otherYear,int otherMonth,int otherDay);
//string OtherDate (Date date,int otherYear,int otherMonth,int otherDay);
//初始条件:三元组date已存在 ,传递比较的天数
//操作结果:比较二者之间的大小
}ADT Date
2.2.数据抽象:头文件)
head.h
设置头文件,宏定义和函数
2.3数据封装说明
InitDate
判断数据是否合法,并输出格式
LeapDate
判断是否闰年
Weekday
判断星期几
EnglishName
判断月份的英文名
OtherDate
比较天数之间的大小
Days
计算增加天数后的日期
结果展示
4.调试碰到问题(1分)
1.结果输出时,日期乱码,后面的程序无法运行,后来发现,读取文件时,文件名写错了
2.判断增加天数的时候,输出结果的month都为0,后来发现又一个if的判断少了一个=