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

    1.思维导图及学习体会

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

    1.2学习的心得体会

    这个学期又是学习新的知识,在编程方面与上学期相比也有不同,这个学期会使用一些C++的语法来编程,这些内容没有系统地教,所以也需要自己课后花时间去学习一下。开学的第一节课主要讲了绪论的内容,简要概述了什么是数据结构以及抽象数据类型等。在算法分析方面,又有时间复杂度和空间复杂度的运算,我觉得时间复杂度和空间复杂度还是不会算,时常弄不懂它的语句频度是多少。大概就是这样吧,在新的学期里,也要好好学习才行啊。
    

    2.大作业内容

    2.1设计日期的ADT 类型

    ADT Date{
    数据对象:D={year,month,day|year,month,day属于int类型} 
    数据关系:R={<year,month>,<month,day>}
    数据操作:
    Status IsDate(Date &D,int year,int month,int day);
    //操作结果:构建三元组D。
    string OutDate(Date D);
    //操作结果:返回日期 
    Status IsLeap(Date D);
    // 操作结果:闰年返回TRUE,平年返回FALSE;
    string WhichDay(Date D);
    //操作结果:返回星期几 
    string EnglishName(Date D);
    //操作结果:返回月份的英文名 
    Date AddDate(Date D,int day);
    //操作结果:返回增加天数后的日期 
    char CompareDate(Date D,Date otherDate);
    //操作结果:比较日期关系 
    

    2.2数据抽象: 头文件

    common.h

    date.h

    2.3数据分装说明

    (1).Status IsDate(Date &D,int year,int month,int day)
    该函数主要用于检验日期是否合法,并构建一个三元组D

    (2)string OutDate(Date D)
    该函数是把整型的年份月份及日期转化成字符型,然后连接成日期的输出格式,再将结果返回主函数

    (3)Status IsLeap(Date D)
    判断是否是闰年

    (4)string WhichDay(Date D)
    这个函数主要是计算一个日期是星期几,再返回星期几到主函数里。
    运用了用于计算日期的公式。

    (5)string EnglishName(Date D)
    这个函数用于返回该日期对应的月份的英文名

    main函数


    3.结果展示


    input.txt

    out.txt

    4.调试中碰到的问题

    1.对抽象数据类型还不了解,同时c语言的基础也没打好,在传参的时候经常出错,有时候需要传的变量常常会忽略
    2.使用一些比较陌生的库函数时,不知道它的头文件是什么,这个百度可以解决
    3.第一次接触c++语法,对它的许多用法都不了解,像文件读写等都向同学请教了。
    4.最后两个增加日期和逻辑比较关系的功能暂时还没实现好,还要再琢磨一下
    
  • 相关阅读:
    spring入门-day01
    HTML概述
    day21-基础加强
    iptables
    25个iptables常用示例
    Linux安全调优1:CentOS防火墙的设置与优化
    sessionStorage 的数据会在同一网站的多个标签页之间共享吗?这取决于标签页如何打开
    JavaScript reduce() 方法
    classList属性和className的区别
    NPM 学习笔记整理
  • 原文地址:https://www.cnblogs.com/112Ada/p/10505618.html
Copyright © 2011-2022 走看看