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


    1.思维导图及学习体会

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

    1.2 学习体会

        这次大作业,我以为挺简单的,因为代码量总体不大,但实际动手做起来还是挺耗时间的。首先还是对C++的语法不够熟悉,其次就是自己的编程量还不够,碰到问题不能够自己独立地解决,在修改bug的时候会比较费时间。
        这次作业感觉也是一个锻炼吧,通过这次作业对C++更加有感觉,然后对函数的运用也更熟悉了。这次大作业,我以为挺简单的,因为代码量总体不大,但实际动手做起来还是挺耗时间的。首先还是对C++的语法不够熟悉,其次就是自己的编程量还不够,碰到问题不能够自己独立地解决,在修改bug的时候会比较费时间。熟能生巧,一步步好好练习就行。
    

    2.大作业作业内容

    2.1 设计日期的ADT类型

    ADT Date{
    数据对象:
        D={year, month, day|year, month, day属于int类型}
    操作关系:
        R={<year, month>,<month, day>}
    数据操作:
    void InitDate(Date &date, int year, int month, int day);//操作结果:构造日期数据结构Date
    Status IsLeapyear(Date date);//操作结果:判断是不是闰年,是则返回TRUE,否则返回FALSE
    string WhichWeek(Date date);//操作结果:返回星期几
    string WhichMonth(Date date);// 操作结果:返回是相应月份的英文名
    Date AddDate(Date date, int day);//操作结果:返回增加天数后的日期
    char Compare(Date date, Date otherDate);//操作结果:比较日期间的逻辑关系
    Status IsLeageldate(Date &date, int year, int month, int day);//操作结果:判断输入的日期是否合法
    string PrintDate(Date date);//将日期格式化输出
    void DestroyDate(Date date); //销毁链表
    };
    

    2.2.数据抽象:头文件

    • date.h
    • common.h

    2.3数据封装说明

    函数的定义

    • InitDate初始化日期

    • IsLeapyear判断是不是闰年,是闰年返回TRUE,否则返回FALSE

    • WhichWeek返回星期几的函数

    • WhichMonth返回月份英文名的函数

    • AddDate增加天数之后的日期函数

    • Compare比较两个日期大小的函数

    • IsLeageldate判断日期合不合法,合法返回TRUE,不合法返回FALSE

    • PrintDate格式化输出日期

    • DestroyDate销毁链表

    3.结果展示

    • int.txt

    • out.txt

    4.调试碰到问题

    • 判断日期合不合法时,黑框刷出一片提示日期不合法的
      if日期合不合法条件判断失误,加上符号“!”即可
    • 在日期合法性判断那里显示异常访问
      当时把初始化函数放到判断合法性函数后面去了,导致非法访问
    • 输出的日期乱码
      类型转换出错导致乱码,对应改正即可
  • 相关阅读:
    15.RDD 创建内幕解析
    14.spark RDD解密
    我的读书笔记-《异类》
    深入解析单例线程安全问题的迷思
    一个关于数学归纳法的悖论问题-续
    一个关于数学归纳法的悖论问题
    简易解说拉格朗日对偶(Lagrange duality)(转载)
    unity3d NavMeshAgent 寻路画线/画路径
    unity3d easytouch计算摇杆旋转角度以及摇杆八方向控制角色
    unity3d 摄像机跟随角色时被物体遮挡解决方案
  • 原文地址:https://www.cnblogs.com/zhonghaiqing/p/10445131.html
Copyright © 2020-2023  润新知