zoukankan      html  css  js  c++  java
  • DS博客作业01--日期抽象数据类型设计与实现

    1.思维导图及学习体会

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

    1.2 学习体会

    在学习了绪论之后,我对数据结构也有了大致的了解。而通过这次大作业我学习了一些C++的内容,总的来说C++比起C来说多了许多新的内容,在某些方面也比C更加的方便一点
    

    2.大作业作业内容

    2.1 设计日期的ADT类型

    ADT Date{
    数据对象:D={year,month,days|year,month,days属于int类型}
    数据关系:R1={<year,month>,<year,days>}
    数据操作:
    Status InitDate(Date &date, int year, int month, int days);
    //初始化日期
    //操作结果:构造了日期数据结构Date,其中year,month,days分别为Date中的年,月,日
    string OutDate(Date date);
    //初始条件:date存在
    //操作结果:将日期以 XXXX/XX/XX 的格式返回
    Status IsLeapyear(Date date);
    //初始条件:date存在
    //操作结果:是闰年则返回TRUE,不是则返回FALSE
    string WhichWeek(Date date);
    //初始条件:date存在
    //操作结果:返回星期
    string WhichMonth(Date date);
    //初始条件:date存在
    //操作结果:返回月份的英文名
    Date AddDate(Date date, int days);
    //初始条件:date存在
    //操作结果:返回增加天数后的日期
    char Compare(Date date, Date otherDate);
    //初始条件:date存在
    //操作结果:比较日期的关系,根据关系返回'<','>','='
    }
    

    2.2.数据抽象:

    • common.h
    • date.h

    2.3数据封装说明

    (1)构造日期数据结构函数

    做法:动态分配内存,构造三元组date

    (2)日期格式函数

    做法:将日期转化为string类型,然后拼接起来

    (3)判断闰年函数

    做法:一次判断即可。。。

    (4)返回星期函数

    做法:用基姆拉尔森计算公式计算星期,然后返回

    (5)返回月份英文名函数

    做法:根据月份返回英文名

    (6)增加日期天数函数

    做法:先将天数加在日期的天数上,再判断天数是否超过当月的天数,若超过则减去当月的天数并增加月份或年份,直至天数正常

    (7)比较日期关系函数

    做法:将年份乘上10000月份乘上100天数不变,相加后比较即可

    (8)主函数main()

    3.结果展示



    4.调试碰到问题

    Q:不了解C++,无法熟练使用
    A:受同学推荐,在一个叫”菜鸟教程“的网站上学习了相关内容

  • 相关阅读:
    Java多线程学习(吐血超具体总结)
    java.lang.Integer can not be cast to java.lang.Long
    【转】随身HiFi 安卓OTG功能在音频上的妙用
    【转】锋狂百科:手机也能接外设 OTG技术详解
    【转】用串口登录Beaglebone Black、用usb共享电脑网络、内核模块的本地编译
    【转】Beagleboard:BeagleBoneBlack
    【转】
    【转】Beaglebone Black
    【转】你应该知道的 10 个 VirtualBox 技巧与高级特性
    如何把SKYPE的发送消息由enter改为ctrl+enter?
  • 原文地址:https://www.cnblogs.com/xycm/p/10470077.html
Copyright © 2011-2022 走看看