1.思维导图及学习体会
1.1第一章绪论知识点思维导图
1.2学习的心得体会
这个学期又是学习新的知识,在编程方面与上学期相比也有不同,这个学期会使用一些C++的语法来编程,这些内容没有系统地教,所以也需要自己课后花时间去学习一下。开学的第一节课主要讲了绪论的内容,简要概述了什么是数据结构以及抽象数据类型等。在算法分析方面,又有时间复杂度和空间复杂度的运算,我觉得时间复杂度和空间复杂度还是不会算,时常弄不懂它的语句频度是多少。大概就是这样吧,在新的学期里,也要好好学习才行啊。
2.大作业内容
2.1设计日期的ADT 类型
ADT Date{
数据对象:D={year,month,day|year,month,day属于int类型}
数据关系:R={,}
数据操作:
Status IsDate(Date &D,int year,int month,int day);
//操作结果:构建三元组D。
string OutDate(Date D);
//操作结果:返回日期
Status IsLeap(Date D);
// 操作结果:闰年返回TRUE,平年返回FALSE;
string WhichDay(Date D);
//操作结果:返回星期几
string EnglishName(Date D);
//操作结果:返回月份的英文名
Date AddDate(Date D,int day);
//操作结果:返回增加天数后的日期
char CompareDate(Date D,Date otherDate);
//操作结果:比较日期关系
2.2数据抽象: 头文件
2.3数据分装说明
(1).Status IsDate(Date &D,int year,int month,int day)
该函数主要用于检验日期是否合法,并构建一个三元组D
(2)string OutDate(Date D)
该函数是把整型的年份月份及日期转化成字符型,然后连接成日期的输出格式,再将结果返回主函数
(3)Status IsLeap(Date D)
判断是否是闰年
(4)string WhichDay(Date D)
这个函数主要是计算一个日期是星期几,再返回星期几到主函数里。
运用了用于计算日期的公式。
(5)string EnglishName(Date D)
这个函数用于返回该日期对应的月份的英文名
3.结果展示
4.调试中碰到的问题
1.对抽象数据类型还不了解,同时c语言的基础也没打好,在传参的时候经常出错,有时候需要传的变量常常会忽略
2.使用一些比较陌生的库函数时,不知道它的头文件是什么,这个百度可以解决
3.第一次接触c++语法,对它的许多用法都不了解,像文件读写等都向同学请教了。
4.最后两个增加日期和逻辑比较关系的功能暂时还没实现好,还要再琢磨一下