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

1.思维导图及学习体会(2分)

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

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

1.2 学习体会

这两周的学习,初步接触了数据结构,突然转为C++的语法确实有些不太习惯,有些语法上的问题需要百度,但是和C相比,C++的语法真的方便好多
然后刚看到大作业内容的时候觉得有点难,心想这种问题是我这种水平能写出来的吗,所以迟迟不敢开始写。后来看了班上其他同学的博客,慢慢摸索和模仿也就逐渐写出来了,所以认识到学编程还是要多练习以及阅读别人的代码,这样进步的比较快。

2.大作业作业内容 (6分)

2.1 设计日期的ADT类型(1分)

ADT Date{
数据对象:
    D = {year,month,day | year,month,day属于int类型}
数据关系:
    R = {,}
数据操作:
    Status InitDate(Date &date,int year,int month,int day);
    //初始化日期
    //操作结果,构造了year,month,day的日期
    Status IsLegal(Date date);
    //初始条件:date存在
    //操作结果:判断年月日是否合法,合法返回true,不合法返回false
    Status Leap(Date date);
    //初始条件:date存在
    //操作结果:是闰年返回true,不是返回false
    string Week(Date date);
    //初始条件:date存在
    //操作结果:判断周几,如星期一,星期二等
    string EnglishMonth(Date date);
    //初始条件:date存在
    //操作结果:返回月份的英文名
    Date AddDays(Date date,int days); 
    //初始条件:date存在
    //操作结果:返回day加上days后的值
    char Relation(Date date,Date otherdate);
    //初始条件:date与otherdate都存在
    //操作结果:比较二者的关系

2.2.数据抽象:头文件

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

2.3数据封装说明

(1)构造三元组函数

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

(2)判断日期合法性

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

(3)判断是否闰年

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

(4)输出星期几

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

(5)输出月份英文名

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

(6)输出加入一定天数后的日期

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

(7)输出与另一个日期比较的关系

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

(8)主函数

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

3.结果展示(1分)

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

4.调试碰到问题(1分)

  • 对C++语法不熟练,写程序的时候需要一直百度C++语法与C语法的转换
  • 刚开始忽略了非法数据的情况,导致运行结果出现乱码

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