DS博客作业01--日期抽象数据类型设计与实现

日期抽象数据类型设计与实现

1.思维导图及学习体会

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

DS博客作业01--日期抽象数据类型设计与实现_第1张图片

1.2学习体会

通过一周的接触,大致了解了数据结构是对数据的处理,是研究数据间的关系的,比起上学期的c语言来说,
我认为学习数据结构将会更加吃力,毕竟数据是比较抽象的东西。
这一周也接触了c++的语法,发现了c++比c简洁得多,第一次在编程中运用c++语法,还是很不熟练,经常
要去查找资料。

2.大作业作业内容

2.1 设计日期的ADT类型

ADT Date{
数据对象:
    D = {year,month,day | year,month,day属于int类型}
数据关系:
    R = {,}
数据操作:
    Status DateDestroy(DATE &date);
     //销毁 Date
     Status InitDate( DATE &date , ElemType year,  ElemType month, ElemType day);
     //构造日期结构
     Status IsLeapyear( ElemType year );
     //判断是否是闰年 
     Status DateJudge(DATE date); 
     //操作结果:判断是否是合法数据。
     Status WhichDay(DATE date,ofstream &outFile);
     //判断是星期几 
     Status WhichMonth( DATE date,ofstream &outFile);
     //判断是几月 
     Status AddDay(DATE date,ofstream &outFile);
     //增加一个天数 
      Status DoCompare(DATE date,ofstream &outFile);
      //与另一个日期做比较 
}ADT Date

2.2.数据抽象:头文件

Date.h
DS博客作业01--日期抽象数据类型设计与实现_第2张图片

2.3数据封装说明

(1)构造日期数据结构

DS博客作业01--日期抽象数据类型设计与实现_第3张图片

(2)销毁Date函数

DS博客作业01--日期抽象数据类型设计与实现_第4张图片

(3)判断是否是闰年

DS博客作业01--日期抽象数据类型设计与实现_第5张图片

(4)判断是否是合法数据

DS博客作业01--日期抽象数据类型设计与实现_第6张图片

(5)判断是星期几

DS博客作业01--日期抽象数据类型设计与实现_第7张图片

(6)判断是几月份

DS博客作业01--日期抽象数据类型设计与实现_第8张图片

(7)当前日期增加Add天的日期函数

DS博客作业01--日期抽象数据类型设计与实现_第9张图片

(8)比较日期间的逻辑关系函数

DS博客作业01--日期抽象数据类型设计与实现_第10张图片
DS博客作业01--日期抽象数据类型设计与实现_第11张图片

3.结果展示

DS博客作业01--日期抽象数据类型设计与实现_第12张图片
DS博客作业01--日期抽象数据类型设计与实现_第13张图片
DS博客作业01--日期抽象数据类型设计与实现_第14张图片
DS博客作业01--日期抽象数据类型设计与实现_第15张图片
DS博客作业01--日期抽象数据类型设计与实现_第16张图片
DS博客作业01--日期抽象数据类型设计与实现_第17张图片

44.调试碰到问题

Q1:在计算任意给的日期是星期几时,不知如何计算,参考同学代码发现基姆拉尔森计算公式可以计算
所以在代码中加入该公式
Q2:在判断日期是否是合法数据时,闰年和非闰年要分开,后来发现可以用数组来存放,在依照对二月
进行修改
Q3:在计算增加一个天数时,运用了c语言的判断语句,使得代码更为简洁

你可能感兴趣的:(DS博客作业01--日期抽象数据类型设计与实现)