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

1.思维导图及学习体会

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

1.2 学习体会

上个学期因为本人水平不足,C语言的学习拖延了很多,导致现在的编程逻辑还是很差劲。我希望能尽力去弥补思维上的不足。
现在又从C语言转换成了C++,两者的区别更加多样,想理解需要一定的努力。

2.大作业作业内容

2.1 设计日期的ADT类型

ADT Date{
数据对象:
                 D = {year,month,day | year,month,day属于int类型}
数据关系:
    R = {<year,month>,<month,day>}
数据操作:
     int InitDate( Date &date ,ElemType year,  ElemType month, ElemType day);
    //初始化日期 
void Leap( ElemType year , ofstream &write);
    //判断是否闰年 
int MonthName( Date date, ofstream &write);
    //返回月份的英文名 
int Week(Date date,ofstream &write); 
    //返回这个日期是星期几 
int Add(Date date,ofstream &write);
void Logic(Date date,ofstream &write);
    //比较当前日期与otherDate的逻辑关系 
int Judge(Date date,ofstream &write); 
    //操作结果:判断是否是合法数据 是返回1 否则返回0 
void Destroy(Date &date);
    //销毁Date  
}ADT Date

2.2.数据抽象:头文件

2.3数据封装说明

common.h

(1)构造日期数据类型函数,并分别判断情况并返回值

(2)表示日期的格式

(3)判断是否是闰年

(4)判断月份,用switch分别表示

(5)运用基姆拉尔森计算公式算出是星期几

(6)给出当前的天数并在基础上增加days天

(7)判断日期和其他日期的逻辑关系

3.结果展示

由于主函数有错误 程序未能正常运行

4.调试碰到问题

  • 1.主函数调用还是要用到上个学期的很多知识,有一些困难。
  • 2.C++的逻辑和语法和C来说有些不同,有的地方并不能用普通的逻辑去思考。
  • 3.代码冗长,几乎每一次都无法成功运行,我在自行编写后一直无法正常运行,只能参考同学的作品。
posted on 2019-03-10 23:30  Cosmosss  阅读(602)  评论(0编辑  收藏  举报