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

    1.思维导图及学习体会

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

    1.2 学习体会

    经过上个学期的学习,我对C语言的使用已经有了一定的了解,对编程的体会也算小有收获。但经过一个寒假,我的编程熟练度大大降低,许多知识都遗忘了。于是在新学期之初,面对老师布置的第一项大作业时,不懂c++语法的我几乎无从下手。去查百度,去博客园上看其他学的好的同学的代码,发现自己是越看越乱,越看越不清醒。好在之后听了别人的讲解,把思路缕清,回去终于把代码写好了。由此可见,只有平时多练练手,学习新知识,才能不慌不忙地完成每一项作业。还有就是,c++比C语言更加方便,我应该多问问同学,尽早学会使用vs。
    

    2.大作业

    2.1设计日期的ADT类型

      ADT Date
    {
       数据对象:
       D={year,month,day|year,month,day属于ElemType类型}
       数据关系:
       R={<year,month>,<month,day>};
       数据操作:
       {
       	void InitDate(Date &date,ElemType year,ElemType month,ElemType day);
       	//初始化日期
       	int Islegal(Date date);
       	//判断日期是否合法 
       	int Isleapyear(Date &date);
       	//判断是否闰年
       	string Isday(Date &date);
       	//返回星期几 
           void AddDays(Date date,ElemType sign,ofstream &out);
           //返回当前日期增加days天的日期
           void Relation(Date date,ofstream &out);
           //比较两个日期的逻辑关系
           string ReturnName(Date date); 
       	//返回月份的英文名
       	Status Destroy(Date &date);
       	//销毁date
        } 
    } 
    
    

    2.2数据抽象:头文件

    2.3数据封装说明

    2.3.1主函数



    2.3.2初始化日期

    2.3.3判断日期是否合法

    2.3.4判断是否闰年

    2.3.5判断是星期几

    2.3.6当前日期增加days天的日期

    2.3.7比较两个日期的逻辑关系

    2.3.8返回该月份的英文名

    2.3.9销毁date

    3.结果展示

    3.1input.txt

    3.2运行结果

    3.3out.txt



    4.调试碰到的问题

    • 1.为了搞懂c++文件语法花了很长时间,后来经过反复测试,终于学会用了。
    • 2.在写比较两个日期大小的函数时,想在函数中传出string类型的s=手动输入的年+月+日+大小判断符号然后写入文件,但发现传不出来,才发现自己输入的是年月日是int类型。于是后来就在该函数中写了文件指针,直接在该函数中写入文件。
  • 相关阅读:
    angular 1.26 版本 window.history.back() 自动去顶部
    CK editor 制作 ”小“plugin
    CSS 3 过渡效果之jquery 的fadeIn ,fadeOut
    了解 : angular controller link nginit 顺序
    规范 : jobbox 中英文
    了解 : angular translate 和 google translate 和 微软 translate
    业务逻辑 : 未完 : easybook.com
    List和ArrayList的区别
    Select什么时候会产生重作日志
    几点对专用服务器与共享服务器差异的理解
  • 原文地址:https://www.cnblogs.com/chianun2000/p/10505596.html
Copyright © 2011-2022 走看看