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

时间:2023-03-28 14:57:20

1.本章学习总结DS博客作业01—日期抽象数据类型设计与实现

1.1 思维导图

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

1.2学习体会DS博客作业01—日期抽象数据类型设计与实现

开学就来了个大作业,还要求用的是c++语法,作为一个只听过没学过的未知语法,靠着CSDN和寝室大佬的帮助下渐渐地了解了一些c++的使用,现在也可以使用一些语法来代替c写东西了。在这其中发现c++的使用比C语言简单一点,比如:输入和输出,字符串合并可以直接c++用加法,还有c++读取文件,写入文件的用法也比C简单得多。要学习的东西还有很多啊!

2.大作业内容

2.1设计日期的ADT类型

ADT Date{
数据对象:
D = {year,month,day | year,month,day属于int类型}
数据关系:
R = {<year,month>,<month,day>}
数据操作:
status readTxt(date &D, int year, int month, int day);
//初始化日期
//操作结果:构造了日期数据结构Date,其中year,month,days分别为Date中的年,月,日
status judgeRight(date &D,ofstream &outline);
//初始条件:date存在
//操作结果:判断日期是否属于正常范围
status leap_year(int year);
//初始条件:date存在
//操作结果:判断该年是否为闰年
string animals(date &D);
//初始条件:date存在
//操作结果:计算年份对应生肖
void CalculateWeekDay(date &D, ofstream &outline);
//初始条件:date存在
//操作结果:基姆拉尔森计算公式根据日期判断星期几
void addDate(date &D, ofstream &outline);
//初始条件:date存在
//操作结果:对于增加天数的计算
void compare(date &D, ofstream &outline);
//初始条件:date存在
//操作结果:比较日期的关系

2.2数据抽象

头文件

2.3数据封装

1.构造日期数据类型函数

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

2.销毁日期数据类型函数

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

3.判断是否是闰年函数

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

4.输出是星期几的函数

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

5.输出月份的英文名的函数

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

6.判断输入日期之间的逻辑关系的函数

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

7.判断日期是否合法的函数

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

8.判断日期的函数函数

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

2.3运行结果

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

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

3调试中的问题DS博客作业01—日期抽象数据类型设计与实现

A1:首先是C++中文件开闭的操作不知道该如何实现。

A2:其次就是函数之间的传参问题,应为这次的函数类型较多所以会经常弄混。

A3:日期会输不进去和写不进txt文件的问题

A4:在日期相加函数上面不会,借鉴了同学的代码