• 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:受同学推荐,在一个叫”菜鸟教程“的网站上学习了相关内容

  • 相关阅读:
    Web---JSP-EL表达式
    JSP---JavaBean的使用-jsp:useBean标签相关
    Web---JSP注册技术的的演绎(3代)-JSP/EJB/Servlet/POJO/JavaBean
    Web---myAjax(自己写底层)-隐藏帧技术
    JSP---JSP中4个容器-pageContext使用
    JSP---演示ErroPage、isErroPage和jsp:forword标签
    JSP-讲解(生成java类、静态导入与动态导入)
    经典算法面试题目-替换字符串的内容(1.5)
    【Android UI】Android Layout XML属性
    【Android UI】:Fragment官方文档
  • 原文地址:https://www.cnblogs.com/xycm/p/10470077.html
Copyright © 2020-2023  润新知