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

一名C++初学者分享了使用C++完成大作业的经历,对比C语言,C++在输入输出、字符串操作和文件读写方面更简便。文章详细介绍了设计日期ADT类型的过程,包括数据对象、数据关系和数据操作,以及在调试过程中遇到的问题。

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

1.1 思维导图

1474668-20190310210711584-2050732033.png

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

开学就来了个大作业,还要求用的是c++语法,作为一个只听过没学过的未知语法,靠着优快云和寝室大佬的帮助下渐渐地了解了一些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数据抽象

头文件

  • Date.h
    1474668-20190311224941213-32846361.png
  • Common.h
    [](https://img2018.cnblogs.com/blog/1474668/201903/1474668-20190311224949443-1481940807.png

    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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值