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

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

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

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

1475633-20190310193457822-1894150514.png

1.2学习体会

     新学期,新气象,但我还是很怕打代码,毕竟经历了上个学期,所以我在开学的前几天看了一点书,虽然只是略懂。经过这周上课之后,我反省了一下,为什么其他同学会,我不会?原来是因为他们在课后付出了很多,其实老师上课的时候不是每个知识点都说,而是需要自己下来多看看书,动动手!
    特别是做了这个大作业后,我学到了一些C++的语法,什么是抽象数据类型,还有用C++对文件进行读取和写入,百度了用基姆拉尔森计算公式来算日期对应的星期几。

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

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

1475633-20190310195513955-772868247.png

2.2数据抽象:头文件

截图展示你的头文件。头文件代码务必加入注释。

1475633-20190309100525759-278253419.png

2.3数据封装说明

截图展示每个运算操作代码。并文字简要介绍功能。如

(1)构造三元组函数

做法:动态申请内存,分别把3个变量放入数组T中。

1475633-20190309100752725-1640031038.png

(2) 判断是否是闰年函数

做法:传抽象数据结构类型名进去,用公式对年进行计算即可判断。

1475633-20190309101844811-1679272721.png

(3) 输出日期对应星期几

做法:用基姆拉尔森计算公式计算,定义一个week表示星期几,若week=0,则星期一,如此类推。

1475633-20190309102609054-1841741082.png

(4) 返回日期月份的英文名

做法:传抽象数据结构类型名进去,可知道当前日期的月份,用一个switch语句,输出相应月数的英文名。

1475633-20190309103457286-2075724093.png
1475633-20190309103525139-213039850.png

(5) 返回增加days后的日期

做法:再定义三个变量来存放加days天后的日期,然后分三种情况,月份有31天,30天,和二月份的天数,根据年月日的关系计算。

1475633-20190309104709687-77871152.png
1475633-20190309104731020-2069048136.png
1475633-20190309104746860-1893705370.png

(6) 比较当前日期与otherDate的逻辑关系

做法: 调用InitDate函数构建otherDate三元组,并对year1,month1,day1进行赋值。然后依次比较它们的年,月,日的大小关系

1475633-20190309105636184-76724547.png
1475633-20190309105654839-86421342.png
1475633-20190309105701433-72532599.png

3.结果展示(1分)

截图展示你的输入数据及输出结果。截图中可以简要文字描述每种功能。

1475633-20190310202207298-1271647022.png

1475633-20190310202218041-1437922900.png

1475633-20190310202008022-1140316517.png

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

描述你调试中碰到的问题及解决方法。
  • (1):在输入的后面加endl (经室友提醒)
  • (2):文件名不经传输就用到其它函数(看同学代码怎么传参文件名)
  • (3):多一次构建三元组 (同学在讲代码时,老师给出的建议)

转载于:https://www.cnblogs.com/Gejkdj/p/10486710.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值