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,day|year,month,day属于int类型}
    数据关系:R1={<year,month>,<month,day>}
    数据操作:
    void InitDate(Date &date,int year,int month,int day); 
        //操作结果:构造了三元组T,对元素Year,month,day赋值    
    int Judge(Date &date,ofstream &writefile);  
        //初始条件:三元组T已存在
        //操作结果:判断日期是否合法,是,把日期写入文件  
    int LeapYear(Date &date,ofstream &writefile);  
        //初始条件:三元组T已存在  
        //操作结果:判断是否是闰年 
    void WeekDay(Date date,ofstream &writefile);
        //初始条件:三元组T已存在  
        //操作结果:返回这个日期是星期几
    void MonthEnglish(Date date,ofstream &writefile);
        //初始条件:三元组T已存在  
        //操作结果:返回月份的英文名
    void AddDay(Date date,ofstream &writefile);
        //初始条件:三元组T已存在  
        //操作结果:返回当前日期增加days天的日期
    void Compare(Date date,ofstream &writefile);
        //初始条件:三元组T已存在  
        //操作结果:比较当前日期与otherDate的逻辑关系
    }ADT DATE
    
    
    

    2.2.数据抽象:头文件

    Date.h

    2.3数据封装说明

    (1)构造日期三元组函数

    • 构造三元组date,存放年月日

    (2)判断是否是闰年函数

    • 判断年份能否被4,100,400整除

    (3)判断日期是否合法函数

    • 若月份小于1,大于12都是不合法的,其次,天数小于,大于该月的最大天数也是不合法的

    (4)返回日期是星期几函数

    • 用基姆拉尔森计算公式计算星期几

    (5)返回月份的英文

    • 用switch语句返回月份英文

    (6)返回当前日期增加days天的日期函数

    • 天数一天天累加,天数超过该月最大天数,月份加1,天数置为1,若月份大于12,年份加1,月份,天数置为1

    (7)比较当前日期与otherDate的逻辑关系函数

    • 先按比较年份,接着比较月份,最后比较天数的顺序判断,直到判断出就停止

    3.结果展示


    4.调试碰到问题

    1.对C++语法不熟悉,开始动手的时候有点茫然,不知该从何下手
    2.文件打开,读取的时候,文件名input.txt打错了,导致读出乱掉的年份,写入文件out.txt的日期和文件input.txt完全不同,刚开始不知道为什么,觉得那些函数也都没问题,文件读取也没错。后来请教了同学,才发现文件名打错了。
    
  • 相关阅读:
    CentOS7 下nginx与PHP的安装与配置
    Windows下mysql的下载和安装
    用.htaccess文件实现URL重写
    使用PHP_XLSXWriter代替PHPExcel 实现excel数据的导入导出
    window中php的交互模式
    Http状态码
    Windows下Apache与PHP的安装与配置
    java 访问控制权限
    Java 数组 可变参数
    java 同步导出excel数据
  • 原文地址:https://www.cnblogs.com/x-m-66/p/10497884.html
Copyright © 2011-2022 走看看