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

---恢复内容开始---

#1.思维导图及学习体会 ##1.1第一章绪论知识点思维导图 ![](https://img2018.cnblogs.com/blog/1475599/201903/1475599-20190310111055786-906500310.png)

1.2 学习体会

通过对第一章的学习,了解了时间复杂度和空间复杂度,这两种方法来衡量一个程序是否是一个较优的程序。刚开始学习数据结构,到现在还没

完全理解数据结构到底是个什么东西,这有关也跟之前的预习不够充分有很大的关系。总之通过第一章的学习,对我来说以后的预习应该是更重

要了。

2.大作业作业内容

2.1 设计日期的ADT类型

ADT DATE{
数据对象:D={year,month,day|year,month,day属于ElemType类型}
数据关系:R1={<year,month>,<month,day>}
数据操作:
Status InitDate(DATE &D, ElemType year, ElemType month, ElemType day);
    //操作结果:构造了三元组D,元素year,month和day的值分别被赋以参数D[0],D[1],D[2]的值。    
Status DestroyDATE(DATE &D); 
    //操作结果:三元组D被销毁。    
string IsLeapYear(DATE D);  
    //操作结果:以字符串返回是否为闰年
string PrintEnglishName(DATE D);  
    //操作结果:以字符串返回当前日期月份英文名
string JudgeWeek(DATE D);
    //操作结果:以字符串返回当前日期的星期
string PrintName(DATE D);
    //操作结果:以字符串返回当前日期
string CompareDate(DATE D, DATE otherDate);
    //操作结果:以字符串形式返回日期比较的表达式
void CalculateDate(DATE &D, int otherDay);
    //操作结果:输出增加天数后的日期
}ADT DATE

2.2.数据抽象:头文件)

2.3数据封装说明

(1)构造三元组函数

(2)销毁三元组函数

(3)判断是否为闰年函数

(4)打印月份英文名函数

(5)输出日期函数

(6)判断星期函数

(7)计算增加日期函数


(8)比较日期函数

3.结果展示

4.调试碰到问题

1、在刚开始用dev-c++编译器的时候,输出汉字的时候在控制台就变成乱码了,也就唯独输出汉字会变成乱码,其他字符串都不会,

刚开始一直找不到原因,甚至把程序重新写了一遍,可是没什么用还是老样子,最后把编译器换成vs就没这种问题了。

posted @ 2019-03-10 11:12  porphrya  阅读(224)  评论(0编辑  收藏  举报