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

    1.思维导图及学习体会

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

    1.2 学习体会

    这个学期在上学期c语言的基础上,开始了数据结构的学习,数据结构这门课程需要用到的链表结构很多,对于第一章的学习,我对数据结构这门课程有了初步的认知,第一章绪论的主要内容,首先时对于数据结构的介绍,数据是描述客观事物的书和字符的合集,数据元素是数据的基本单位,数据元素又是由数据项组成的。逻辑结构是数据元素之间的逻辑关系,它的类型有集合,树形,线性图形这几种,另外一种是计算机存储器中的存储方式,即数据的存储结构,有四种类型,顺序,链式,索引,散列存储结构。其次,第一章也介绍了算法,主要是有算法描述和分析这两块内容,算法描述主要是对于算法的定义和特点进行了介绍,算法分析则是说明了算法的设计目标和效率分析,效率分析主要是时间复杂度和空间复杂度。总结了一下,数据结构这一块还是需要对以前的知识进行复习和加强的,尤其是链表这一块。

    2.大作业作业内容

    设计日期的ADT类型

    ADT Date
    {
    数据对象:
    D={year,month,day|year,month,day属于int 类型};
    数据关系:
    R={<year,month>,<month,day>};
    数据操作:
    void CreatInformation(int *&Date,int year,int month,int day);
    //初始化日期
    //操作结果:构造三元组
    int Judge(int *Date,ofstream& write);
    //初始条件:Date存在,文件成功打开
    //操作结果:判断文件内的日期是否合法,合法返回1;
    void Leapyear(int *Date,ofstream& write);
    //初始条件:Date存在,文件成功打开,日期合法
    //操作结果:判断年份是否是闰年并且将结果写进文件
    void Day(int *Date,ofstream& write);
    //初始条件:Date存在,文件成功打开,日期合法
    //操作结果:判断日期是星期几,并且将结果写进文件
    void Month(int *Date,ofstream& write);
    //初始条件:Date存在,文件成功打开,日期合法
    //操作结果:将月份的英文单词放回,写进文件
    void Icrease(int *Date,ofstream& write);
    //初始条件:Date存在,文件成功打开,日期合法
    //操作结果:计算增加后的日期,并且写入文件
    void CompareDate(int *Date,ofstream& write);
    //初始条件:Date存在,文件成功打开。日期合法
    //操作结果:与输入的日期比较,并且写入文件
    int Judge2(int year,int month,int day);
    //初始条件:输入的年份日期符合 int类型
    //操作结果:判断日期是否合法,合法返回值1,不合法返回值0
    }

    2.2数据抽象:

    2.3数据封装说明

    (1)构造三元组函数

    (2)日期合法性判断函数

    (3)闰年判断函数

    (4)星期判断函数

    (5)英文月份返回函数

    (6)增加天数计算函数

    (7)日期比较函数

    (8)日期合法性判断函数2

    (9)主函数

    3.结果展示

    文件input.txt中的数据:

    运行界面:

    文件output.txt中的结果:

    4.调试碰到的问题。

    ·Q1:首先是对于c++语法的不熟悉,文件打开语法和其他语法
    ·A1:借鉴百度经验和同学的代码参考
    ·Q2:文件指针定义错误,无法正确打开文件
    ·A2:不使用宏定义,直接在每个函数中定义
    ·Q3:日期比较函数和日期判断函数无法正确运行
    ·A3:更改了头文件中的函数定义,修改了主函数中的引用

  • 相关阅读:
    [HNOI2002]营业额统计
    HDU 1374
    HDU 3345
    HDU 2089
    Graham扫描法
    Codeforces 1144D Deduction Queries 并查集
    Codeforces 916E Jamie and Tree 线段树
    Codeforces 1167F Scalar Queries 树状数组
    Codeforces 1167E Range Deleting
    Codeforces 749E Inversions After Shuffle 树状数组 + 数学期望
  • 原文地址:https://www.cnblogs.com/lw123---/p/10453078.html
Copyright © 2011-2022 走看看