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

1.思维导图及学习体会

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

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

1.2 学习体会

理解三元组的含义理解了好久了,在写大作业的过程中慢慢加深对三元组的理解,刚开始的确很模糊,有点不知道他要干嘛,后来写的过程中才恍然大悟,但是写得差不多了,函数就没怎么改,就直接把三元组里的东西传递出去了【自闭】。代码里就只是把东西赋值给了date,所以在下面的三元组里注释了一下,三元组的东西。学习c++的语法花了一些时间,不过参考同学和百度的格式,还是比较快的可以上手。

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

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

ADT Date{
数据对象:D={year,month,day|year,month,day属于int类型}
数据关系:R1={,}
数据操作:
void InitDate (int year,int month,int day,ofstream &outFile);
   //操作结果:构造了三元组T,元素e1,e2和e3的值分别被赋以参数v1,v2,v3的值。   
Status LeapDate (int year,int month,int day); 
//Status LeapDate (Date date); 
  //初始条件:三元组date已存在  
  //操作结果:得到是否为闰年 
string Weekday (int year,int month,int day);
//string Weekday (Date date);
  //初始条件:三元组date已存在  
  //操作结果:得到星期
string EnglishName (int year,int month,int day);
//string EnglishName (Date date);
  //初始条件:三元组date已存在  
  //操作结果:得到月份的英文
void Days (int year,int month,int day,int addDay,ofstream &outFile);
//void Days (Date date,int addDay,ofstream &outFile);
  //初始条件:三元组date已存在 ,传递增加的天数addDay,传递文件
  //操作结果:得到增加后的天数
string OtherDate (int year,int month,int day,int otherYear,int otherMonth,int otherDay);
//string OtherDate (Date date,int otherYear,int otherMonth,int otherDay);
  //初始条件:三元组date已存在 ,传递比较的天数
  //操作结果:比较二者之间的大小
}ADT Date

2.2.数据抽象:头文件)

head.h

设置头文件,宏定义和函数

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

2.3数据封装说明

InitDate

判断数据是否合法,并输出格式

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

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

LeapDate

判断是否闰年

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

Weekday

判断星期几

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

EnglishName

判断月份的英文名

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

OtherDate

比较天数之间的大小

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

Days

计算增加天数后的日期

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

结果展示

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

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

1.结果输出时,日期乱码,后面的程序无法运行,后来发现,读取文件时,文件名写错了
2.判断增加天数的时候,输出结果的month都为0,后来发现又一个if的判断少了一个=

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