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

    1.思维导图及学习体会

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

    1.2 学习体会

    比起上个学期的C语言,数据结构的难度明显加大了,有些部分难以理解,需要多花一些时间去理解;也因为刚刚开学,又突然增加C++的语法,有点力不从心,完成这次的大作业也略显生疏;但在同学的帮助或查阅资料的情况下,也基本完成了,在写大作业的过程中慢慢加深对一些知识的理解,接下来的学习要更加努力鸭!

    2.大作业作业内容

    2.1设计日期的ADT类型

    ADT Date{
    数据对象:D = {year,month,day | year,month,day属于I(I为整数集合)}
    数据关系:R = {<year,month>,<month,day>|year是年,month是月,day是日}
    基本操作:
    Status InitTriplet(DATE &T,int year,int month,int day);
        //操作结果:构造了三元组T
    Status Judge(DATE T);
        //操作结果:判断日期是否合法
    Status ErrorPrint(DATE T,int flag,fstream &outfile);
        //操作结果:当日期不合法时输出提示
    Status YearJudge(int year);
        //操作结果:判断是否是闰年还是平年 
    Status GetWeekday(int year,int month,int day);
        //操作结果:判断星期几。
    Status GetMonth(DATE T,fstream &outfile);
        //操作结果:输出月份英文名。
    Status DateChange(DATE T,DATE T1,int days,fstream &outfile); 
        //操作结果:得出当前日期增加之后的日期
    Status Compare(DATE date,fstream &outfile);
        //操作结果:比较日期间的逻辑关系
    }ADT Date
    

    2.2 数据抽象:头文件

    Date.h

    2.3 数据封装说明

    3.1.1 构造三元组函数

    3.1.2 日期合法性判断的函数

    3.1.3 提示日期不合法的函数

    3.1.4 闰年判断函数

    3.1.5 星期几判断函数

    3.1.6 月份判断函数

    3.1.7 天数增加计算函数

    3.1.8 日期逻辑比较函数

    3.结果展示



    4.调试碰到问题

    • 面对题目,开始动手的时候有点茫然,不知该从何下手
    • C++语法的cin、cout中的<< >>分不清楚,刚开始经常混在一起
    • 关于增加天数的部分不太会写,后来请教了同学,解决了这个问题
    • 完成大作业的过程中也碰到许多问题,也通过查阅或者参考同学的优秀代码得到解决
  • 相关阅读:
    基于Vue.js的表格分页组件
    浅谈Vue.js
    利用js2image把代码压缩成圣诞树
    在AngularJS中的使用Highcharts图表控件
    使用Uploadify(UploadiFive)多文件上传控件遇到的坑
    iOS开源项目周报0323
    安卓开源项目周报0322
    前端开源项目周报0321
    iOS开源项目周报0316
    安卓开源项目周报0315
  • 原文地址:https://www.cnblogs.com/qq1191834402/p/10502814.html
Copyright © 2011-2022 走看看