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

    1.本章学习总结

    1.1思维导图

    1.2 本章学习体会

    新学期,开始学数据结构,一开始并不能理解数据结构到底是干什么的,可能是在上学期程序设计语言的基础上学得更深吧,后来通过预习,差不多知道数据结构是干什么的,通俗点就是学程序小作文呗……
    学习确实比较吃力,一定原因是上学期C语言肯可能学得不扎实吧,另一方面,乍一开始使用C++,确实不顺手,不过多亏了晓淞在博客里给了一个神奇的网站,对于使用C++特别有帮助
    感觉大学学习中,很重要的一点是,好好利用百度。

    2.大作业

    2.1设计日期的ADT类型

    ADT Date
    {
    数据对象:
    D={year,month,day|year,month,day都属于int类型}
    数据关系:
    R={<year,montn>,<month,day>}
    数据操作:
    status InitDate(Date &date,int year,int month,int day);
    //操作结果:构造一个三元组date,year,month,day被赋予值

    status DestroyDate(Date &date);
    //操作结果:销毁三元组
     
    string PrintDate(Date date);
    //初始条件:date存在
    //操作结果:以1900/01/01的形式返回string
    
    status IsLeap(Date date);
    //初始条件:date存在
    //操作结果,判断是不是闰年,是闰年返回TURE,不是闰年返回FALSE
    
    string Aweekday(Date date);
    //初始条件:date存在
    //操作结果:判断这天是星期几,并以“星期几”的形式返回string
    
    string Amonth(Date date);
    //操作条件:date存在
    //操作结果:以该月份的英文返回string
    

    }ADT Date

    2.2.数据抽象:头文件

    2.3数据封装说明

    (1)构造三元组

    将从文件中读取的数组传入函数,构造三元组。

    (2)输出日期

    挺简单不解释

    (3)判断闰年

    之前也做过,不解释

    (4)判断星期几

    在CSDN上搜的,一个公式

    (5)返回月份的英文

    (6)判断日期大小

    比较粗暴的一个方法,就是相当于都转化成天:年366+月31+日

    比较粗暴。

    (7)加日期

    这个是最难的函数,没有之一。
    把单独的日和要加的日期加在一起,然后判断够不够一个月,够不够一年,逐级加,注意要判断闰年。

    (8)主函数

    2.3测试数据

    2.4测试中遇到的问题

    1.不熟悉C++的代码,一些算法也不清楚,看了晓淞推荐的网站,对C++基础的cin,cout有了一定了解,算法和文件函数的运用则查CSDN和博客园,

    总之,代码写的好,CSDN不可少。

    2.在判断星期几的时候,一开始没有定义year,month,day来临时存储数据,而是直接改了三元组的数据,然后就出BUG了,想了好久(大佬不要嘲笑我),睡了一觉,哦,我明白了

    好好写代码吧,写完之后有神奇的事情发生,亲测。

  • 相关阅读:
    Code First Migrations更新数据库结构(数据迁移) 【转】
    Lambda表达式详解【转】
    @Html.Raw用法
    ASP.NET MVC文件上传【转】
    SQL Server附加数据库拒绝访问错误解决方法
    window.location.href的用法
    vs2013中将复制过来的文件或文件夹显示到解决方案管理
    Expression<Func<TObject, bool>>与Func<TObject, bool>的区别
    VS中的一些标记
    ob_get_contents()
  • 原文地址:https://www.cnblogs.com/qsls8643/p/10507196.html
Copyright © 2011-2022 走看看