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


    日期抽象数据类型设计与实现

    1.思维导图及学习体会

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

    1.2学习体会

    通过一周的接触,大致了解了数据结构是对数据的处理,是研究数据间的关系的,比起上学期的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 DateDestroy(DATE &date);
         //销毁 Date
         Status InitDate( DATE &date , ElemType year,  ElemType month, ElemType day);
         //构造日期结构
         Status IsLeapyear( ElemType year );
         //判断是否是闰年 
         Status DateJudge(DATE date); 
         //操作结果:判断是否是合法数据。
         Status WhichDay(DATE date,ofstream &outFile);
         //判断是星期几 
         Status WhichMonth( DATE date,ofstream &outFile);
         //判断是几月 
         Status AddDay(DATE date,ofstream &outFile);
         //增加一个天数 
          Status DoCompare(DATE date,ofstream &outFile);
          //与另一个日期做比较 
    }ADT Date
    

    2.2.数据抽象:头文件

    Date.h

    2.3数据封装说明

    (1)构造日期数据结构

    (2)销毁Date函数

    (3)判断是否是闰年

    (4)判断是否是合法数据

    (5)判断是星期几

    (6)判断是几月份

    (7)当前日期增加Add天的日期函数

    (8)比较日期间的逻辑关系函数


    3.结果展示






    44.调试碰到问题

    Q1:在计算任意给的日期是星期几时,不知如何计算,参考同学代码发现基姆拉尔森计算公式可以计算
    所以在代码中加入该公式
    Q2:在判断日期是否是合法数据时,闰年和非闰年要分开,后来发现可以用数组来存放,在依照对二月
    进行修改
    Q3:在计算增加一个天数时,运用了c语言的判断语句,使得代码更为简洁
    
  • 相关阅读:
    Elasticsearch拼音分词和IK分词的安装及使用
    Java同步、异步区别
    Elasticsearch深入搜索之全文搜索及JavaAPI使用
    Elasticsearch学习笔记
    Elasticsearch拼音和ik分词器的结合应用
    Elasticsearch深入搜索之结构化搜索及JavaAPI的使用
    Java反射的理解
    打印三个长宽不同的矩形
    是非人生 — 一个菜鸟程序员的5年职场路 第23节
    是非人生 — 一个菜鸟程序员的5年职场路 第35节
  • 原文地址:https://www.cnblogs.com/B-hai/p/10500945.html
Copyright © 2020-2023  润新知