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

    1.思维导图和学习体会

    1.1绪论知识思维导图

    1.2学习体会

    通过这几节课数据结构的新学习,让我感到了难度,很多概念性的东西,不是很好理解,老师在讲内容的时候,很容易跟不上节奏,我发现这门课的学习一定不能够少了预习工作,而且预习工作一定要很扎实,比上学期的c语言要花更多的时间,不然上课很容易掉队,再者这次的大作业,让我重新接触了一门计算机语言c++,这次作业的使用,我发现它大体上的语言基础还是c语言。只不过在一些处理上做了简化,比起c语言,它更容易去操作。可能我没有用到它的高深之处,仅仅用了些皮毛,c++应该还有过人之处,以后的学习中,要多去了解这种语言。有了c的基础,不难掌握这门语言。

    2大作业内容

    2.1设计日期和DAT类型

    2.2数据抽象

    2.3数据封装

    1.构造日期函数(三元组构造与销毁)
    //操作结果:构造了三元组T,元素year,month和day的值分别赋值
    //操作结果:三元组T被销毁。

    做法:动态申请内存,分别把3个变量放入数组T中。

    2.//操作结果:判断润年函数
    做法:根据公式判断,是润年返回1,不是润年返回0

    3.//操作结果:计算星期几
    做法:利用基姆拉尔森计算日期公式计算出星期几,用switch语句对应case情况,写入文件

    4.//操作结果:输出英文月份
    做法:定义一个二维数组分别存放1-12个月的英文串,利用month的值与二维数组结合(月份对应数组的地址)输出对应的英文。

    5.//操作结果:增加天数
    做法:(使用最原始的方法)
    (1)首先将原来对应的月份分为1/3/5/7/8/10/12一组。(用flag判断)
    (2)在flag=1的情况下对应的从天数开始加,满了31天就月份进1;满了12月就年进1 /如果是flag=0的情况下,又分一下润年和非润年的2月份,然后也从天数开始增加,方法与上面的相同。
    (3)最后将新结果写入文件

    6.//操作结果:比较别的日期
    做法:首先调用IsLegal函数判断输入合法性,也是用最原始的方法if-else,先比较年,后比较月,再比较日。每一种情况分别写入文件

    7.//操作结果:判断输入合法性 (与比较日期配合调用)
    做法:符合实际情况就返回1

    8.Main函数

    3.结果展示

    input.txt

    输入页面

    out.txt

    4遇见问题

    Q1:C++语法不熟悉,百度学习了基本的语法操作。感谢百度!
    Q2:一开始不知道怎么同步文件,结果不知道怎么处理。
    A2:学习了同学的文件指针,在函数定义时候形参定义个文件指针,跟随着函数内容一起操作。基本语言还是和c语言类似。所以处理起来很顺手。

  • 相关阅读:
    MFC tab页面中获到其它页面的数据
    sqlite数据库中"Select * From XXX能查到数据,但是Select DISTINCT group From xxx Order By group却查不出来
    关闭程序出现崩溃(exe 已触发了一个断点及未加载ucrtbased.pdb)
    springboot 通用Mapper使用
    springBoot 发布war包
    springCloud Zuul网关
    springboot hystrix turbine 聚合监控
    springBoot Feign Hystrix Dashboard
    springBoot Ribbon Hystrix Dashboard
    springBoot Feign Hystrix
  • 原文地址:https://www.cnblogs.com/zhouqb/p/10502843.html
Copyright © 2011-2022 走看看