博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
DS博客作业01—日期抽象数据类型设计与实现
阅读量:6815 次
发布时间:2019-06-26

本文共 1186 字,大约阅读时间需要 3 分钟。

1.本章学习总结1474668-20190311232058178-974725397.gif

1.1 思维导图

1474668-20190310210711584-2050732033.png

1.2学习体会1474668-20190311232112567-1743332292.gif

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

2.大作业内容

2.1设计日期的ADT类型

ADT Date{数据对象:    D = {year,month,day | year,month,day属于int类型}数据关系:    R = {
,
}数据操作: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数据抽象

头文件

  • Date.h
    1474668-20190311224941213-32846361.png
  • Common.h

    []()

    2.3数据封装

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

    1474668-20190311225008570-2025780858.png

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

    1474668-20190311225020074-266067682.png

    3.判断是否是闰年函数

    1474668-20190311225029231-1327253193.png

    4.输出是星期几的函数

    1474668-20190311225042445-1995713883.png

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

    1474668-20190311225050572-1346321950.png

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

    1474668-20190311225137397-809753199.png

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

    1474668-20190311225159121-1160305387.png

    8.判断日期的函数函数

    1474668-20190311225242726-666608248.png

    2.3运行结果

    1474668-20190311231256023-312356436.png

    1474668-20190311231303633-16811227.png

    3调试中的问题1474668-20190311232127212-346948292.jpg

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

A2:其次就是函数之间的传参问题,应为这次的函数类型较多所以会经常弄混。
A3:日期会输不进去和写不进txt文件的问题
A4:在日期相加函数上面不会,借鉴了同学的代码

转载于:https://www.cnblogs.com/asings/p/10507181.html

你可能感兴趣的文章
使用Nodejs创建基本的网站 Microblog--《Node.js开发指南》 3
查看>>
网管工作是否值得做下去?
查看>>
神行者PD10-adb push逃脱ro权限
查看>>
JPA(四)之实体关系一对一
查看>>
如何使用羊驼自动生成缩略图的功能。
查看>>
定制化Azure站点Java运行环境(1)
查看>>
inotify用法简介及结合rsync实现主机间的文件实时同步
查看>>
php 判断手机登陆
查看>>
git 问题
查看>>
Fedora18设置终端快捷键 和 桌面快捷方式
查看>>
取消NavigationBar左右两边的空隙
查看>>
Ubuntu 12.04 Gedit中文乱码解决办法
查看>>
修改symfony sfDoctrineGuardPlugin验证密码的方法
查看>>
Vbird的Linux私房菜学习笔记之正则表达式-特殊字符
查看>>
数据的作用域
查看>>
js中括号用于自执行测试
查看>>
ssh 公钥 密钥
查看>>
c#设计模式-单例模式
查看>>
Ehcache web cahce 缓存改良版
查看>>
F5集群配置公共irule,解决X-Frame-Options漏洞及host头漏洞
查看>>