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

    1.思维导图及学习体会

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

    1.2 学习体会

    理解三元组的含义理解了好久了,在写大作业的过程中慢慢加深对三元组的理解,刚开始的确很模糊,有点不知道他要干嘛,后来写的过程中才恍然大悟,但是写得差不多了,函数就没怎么改,就直接把三元组里的东西传递出去了【自闭】。代码里就只是把东西赋值给了date,所以在下面的三元组里注释了一下,三元组的东西。学习c++的语法花了一些时间,不过参考同学和百度的格式,还是比较快的可以上手。
    

    2.大作业作业内容 (6分)

    2.1 设计日期的ADT类型(1分)

    ADT Date{
    数据对象:D={year,month,day|year,month,day属于int类型}
    数据关系:R1={<year,month>,<month,day>}
    数据操作:
    void InitDate (int year,int month,int day,ofstream &outFile);
       //操作结果:构造了三元组T,元素e1,e2和e3的值分别被赋以参数v1,v2,v3的值。   
    Status LeapDate (int year,int month,int day); 
    //Status LeapDate (Date date); 
      //初始条件:三元组date已存在  
      //操作结果:得到是否为闰年 
    string Weekday (int year,int month,int day);
    //string Weekday (Date date);
      //初始条件:三元组date已存在  
      //操作结果:得到星期
    string EnglishName (int year,int month,int day);
    //string EnglishName (Date date);
      //初始条件:三元组date已存在  
      //操作结果:得到月份的英文
    void Days (int year,int month,int day,int addDay,ofstream &outFile);
    //void Days (Date date,int addDay,ofstream &outFile);
      //初始条件:三元组date已存在 ,传递增加的天数addDay,传递文件
      //操作结果:得到增加后的天数
    string OtherDate (int year,int month,int day,int otherYear,int otherMonth,int otherDay);
    //string OtherDate (Date date,int otherYear,int otherMonth,int otherDay);
      //初始条件:三元组date已存在 ,传递比较的天数
      //操作结果:比较二者之间的大小
    }ADT Date
    

    2.2.数据抽象:头文件)

    head.h

    设置头文件,宏定义和函数

    2.3数据封装说明

    InitDate

    判断数据是否合法,并输出格式

    LeapDate

    判断是否闰年

    Weekday

    判断星期几

    EnglishName

    判断月份的英文名

    OtherDate

    比较天数之间的大小

    Days

    计算增加天数后的日期


    结果展示


    4.调试碰到问题(1分)

    1.结果输出时,日期乱码,后面的程序无法运行,后来发现,读取文件时,文件名写错了
    2.判断增加天数的时候,输出结果的month都为0,后来发现又一个if的判断少了一个=

  • 相关阅读:
    docker 之 docker-compose 初探
    docker 之 .net core 镜像制作
    docker 之 registry私有仓库(harbor)
    ASP.NET Core 学习笔记(认证授权)
    ASP.NET Core 学习笔记(http请求处理)
    ASP.NET Core 学习笔记(依赖注入)
    Linux基础编程之网络编程TCP实例
    功能包和CMakeLists.txt
    ROS的主节点(名称服务器)---roscore
    关于ros开发
  • 原文地址:https://www.cnblogs.com/056lu/p/10495256.html
Copyright © 2011-2022 走看看