1.思维导图及学习体会

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

1.2 学习体会

  • 1. 这两周可能是刚刚开学吧,还未完全适应,老师上课节奏有点快,上课的内容需要课后再温习,特别是时间复杂度与空间复杂度,是块难啃的硬骨头,需要投入时间与精力与理解。自我感觉上一学期学习的c语言与这一学期学的数据结构相比简直是小巫见大巫,难度有所提高,需要更加去努力学习。
  • 2. 这次大作业中,老师要求我们使用c++语法来写,这样既让我们对c++的一些语法有了了解,又考验了我们c语言的基础是否扎实,C++是C语言的继承,使用c++的过程可以看到c语言的影子,但两者还是有着不同之处,c语言中的printf与scanf在c++中变为cout与cin,这然使代码看起来更加的简洁,也增加了代码的可读性,还提高了计算机运行的效率。

2.大作业作业内容

2.1 设计日期的ADT类型

ADT Date{
数据对象:
         D = {year,month,day | year,month,day属于int类型}
数据关系:
         R = {<year,month>,<month,day>}
数据操作:
        int InitDate(Date &date,int year,int month,int day);
        //操作结构:构造三元组并判断日期是否合法 
        int leapYear(Date &date);
        //操作结果:判断是否为闰年 
        void weeks(Date &date,ofstream &outFile);
        //操作结果:输出该日期所对应的星期 
        void monthday(Date &date,ofstream &outFile);
        //操作结果:输出该日期的月份的英文名  
        void dayAdd(Date &date,int num,ofstream &outFile);
        //操作结果:输入一个数,得到该日期加上这个数的日期 
        void dayCompare(Date &date,int yourYear,int yourMonth,int yourDay,ofstream &outFile);
         //操作结果:输入另外一个日期,与该日期进行比较
}ADT Date

2.2.数据抽象:

2.3数据封装说明

(1)构造日期数据结构并判断是否合法

(2)判断是否为闰年

(4)返回日期所对应的星期

(5)返回月份英文名

(6)增加日期天数

(7)主函数

3.结果展示



4.调试碰到问题

1.可能是一个多月没敲代码了吧,对c语言有些生疏了,会发生一些很低级的错误。
2.在敲的时候对c++语法不熟悉,需要先对c++的一些语法进行学习。特别是c语言不同于c的一些特定形式,比如&的运用,写大作业的时候差了一个&调试了一个晚上。