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

1.思维导图及学习体会

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

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

1.2 学习体会

在学习了绪论之后,我对数据结构也有了大致的了解。而通过这次大作业我学习了一些C++的内容,总的来说C++比起C来说多了许多新的内容,在某些方面也比C更加的方便一点

2.大作业作业内容

2.1 设计日期的ADT类型

ADT Date{
数据对象:D={year,month,days|year,month,days属于int类型}
数据关系:R1={,}
数据操作:
Status InitDate(Date &date, int year, int month, int days);
//初始化日期
//操作结果:构造了日期数据结构Date,其中year,month,days分别为Date中的年,月,日
string OutDate(Date date);
//初始条件:date存在
//操作结果:将日期以 XXXX/XX/XX 的格式返回
Status IsLeapyear(Date date);
//初始条件:date存在
//操作结果:是闰年则返回TRUE,不是则返回FALSE
string WhichWeek(Date date);
//初始条件:date存在
//操作结果:返回星期
string WhichMonth(Date date);
//初始条件:date存在
//操作结果:返回月份的英文名
Date AddDate(Date date, int days);
//初始条件:date存在
//操作结果:返回增加天数后的日期
char Compare(Date date, Date otherDate);
//初始条件:date存在
//操作结果:比较日期的关系,根据关系返回'<','>','='
}

2.2.数据抽象:

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

    2.3数据封装说明

    (1)构造日期数据结构函数

    做法:动态分配内存,构造三元组date
    DS博客作业01--日期抽象数据类型设计与实现_第3张图片

    (2)日期格式函数

    做法:将日期转化为string类型,然后拼接起来
    DS博客作业01--日期抽象数据类型设计与实现_第4张图片

    (3)判断闰年函数

    做法:一次判断即可。。。
    DS博客作业01--日期抽象数据类型设计与实现_第5张图片

    (4)返回星期函数

    做法:用基姆拉尔森计算公式计算星期,然后返回
    DS博客作业01--日期抽象数据类型设计与实现_第6张图片

    (5)返回月份英文名函数

    做法:根据月份返回英文名
    DS博客作业01--日期抽象数据类型设计与实现_第7张图片

    (6)增加日期天数函数

    做法:先将天数加在日期的天数上,再判断天数是否超过当月的天数,若超过则减去当月的天数并增加月份或年份,直至天数正常
    DS博客作业01--日期抽象数据类型设计与实现_第8张图片

    (7)比较日期关系函数

    做法:将年份乘上10000月份乘上100天数不变,相加后比较即可
    DS博客作业01--日期抽象数据类型设计与实现_第9张图片

    (8)主函数main()

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

    3.结果展示

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

    4.调试碰到问题

    Q:不了解C++,无法熟练使用
    A:受同学推荐,在一个叫”菜鸟教程“的网站上学习了相关内容

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