第六次作业

1.思维导图及学习体会

1.1 思维导图

1.2 学习体会

因为假期里面代码的练习量很小,所以开学来上学期的知识遗忘了很多,刚刚开始写大作业的时候很困难,完全没有思路,后来看了几位同学的代码,也百度了很多C++的基础语法,才慢慢把大作业完成。学习了一些C++的语法后,发现真的比C语言方便很多,基本的输入输入和文件的读取写入C++的语法都比C语言的简便,接下来在学习数据结构的同时,也要继续加强对C++语法的学习,提高自己代码的效率。

2.大作业作业内容

2.1 设计日期的ADT类型

ADT Date{
数据对象:D={year,month,day|year,month,day属于ElemType类型}
数据关系:R1={<year,month>,<month,day>}
数据操作:
Status InitDate(Date &D, ElemType year, ElemType month, ElemType day);
//操作结果:构造了三元组D,日期中的年月日分别为year,month,day。 Status Leapyear(Date D,ofstream &outFile);
//初始条件:三元组D存在
//操作结果:判断是否闰年 Status JudgeWeek(Date D,ofstream &outFile);
//初始条件:三元组D存在
//操作结果:返回这个日期是星期几 Status MonthNum(Date D,ofstream &outFile);
//初始条件:三元组D存在
//操作结果:返回月份的英文名 Status IncreaseDays(Date D,ofstream &outFile);
//初始条件:三元组D存在
//操作结果:返回当前日期增加days天的日期 Status Compare(Date D,ofstream &outFile);
//初始条件:三元组D存在
//操作结果:比较当前日期与otherDate的逻辑关系 Status JudgeData(Date D,ofstream &outFile);
//初始条件:三元组D存在
//操作结果:判断日期是否合法 }ADT Date

2.2 数据抽象:头文件)

Date.h

2.3数据封装说明

(1)构造三元组函数:动态申请内存,将变量存入数组中

(2)判断是否闰年函数:用if判断日期中年份是否为闰年并输出对应结果

(3)返回这个日期是星期几函数:用公式计算出日期为周几,结果输出并写入文件

(4)返回月份的英文名函数:将月份英文名存入一个二维数组,然后输出对应英文名

(5)返回当前日期增加days天的日期函数:通过计算总天数然后不断减去对应月份的天数,来求出增加的月份以及年份

(6)比较当前日期与otherDate的逻辑关系:通过将日期转换为数字进行比较大小

(7)判断日期是否合法:月份不得超过12等,其他为非法日期

3.结果展示

(1)运行结果



(2)input.txt



(3)out.txt

4.调试碰到问题

Q1:比较两个日期之间的关系时开始将年月日分开进行比较,有很长一段代码而且看着很不清晰。

A1:后来在看了几位同学的代码后,学到了将日期数的比较转化为数字大小的比较,代码精简了很多。

DS作业01--日期抽象数据类型设计与实现的更多相关文章

  1. DS博客作业01—日期抽象数据类型设计与实现

    1.本章学习总结 1.1 思维导图 1.2学习体会 开学就来了个大作业,还要求用的是c++语法,作为一个只听过没学过的未知语法,靠着CSDN和寝室大佬的帮助下渐渐地了解了一些c++的使用,现在也可以使 ...

  2. DS博客作业01--日期抽象数据类型设计与实现

    1.思维导图及学习体会 1.1第一章绪论知识点思维导图 1.2 学习体会 这次博客园和大作业是我在编程学习中的有意义的进步,第一次尝试使用vs,并且通过同学的一些网站的推荐,和热心同学的帮忙,简单学会 ...

  3. DS博客作业01-日期抽象数据类型设计和实现

    1.思维导图及学习体会 1.1第一章绪论知识点思维导图 1.2 学习体会 这周刚刚学习了数据结构绪论和一部分线性表的知识,因为寒假提前预习了一会儿,在课堂上可以较快理解老师讲的内容.但是在c++语法上 ...

  4. DS博客作业01--日期抽象数据类型设计与实验

    1.思维导图及学习体会(2分) 1.1第一章绪论知识点思维导图 1.2 学习体会 2.大作业作业内容 (6分) 2.1 设计日期的ADT类型(1分) ADT DATE{ 数据对象:D={year,mo ...

  5. DS博客作业01-日期抽象数据类型的设计与实现

    1.思维导图和学习体会 1.1绪论知识思维导图 1.2学习体会 通过这几节课数据结构的新学习,让我感到了难度,很多概念性的东西,不是很好理解,老师在讲内容的时候,很容易跟不上节奏,我发现这门课的学习一 ...

  6. DS博客作业01--日期抽象数据类型

    1.思维导图及学习体会(2分) 1.1第一章绪论知识点思维导图 1.2学习体会 从暑假看视频到开学的预习,我感觉数据结构与c语言比起来更加抽象,更加难理解,那些概念也只能理解一些字面意思,对时间复杂度 ...

  7. PTA实验作业-01

    一.PTA实验作业 本周要求挑3道题目写设计思路.调试过程.设计思路用伪代码描述.题目选做要求: 顺序表选择一题(6-2,6-3,7-1选一题),代码必须用顺序结构抽象数据类型封装 单链表选择一题(6 ...

  8. 课程作业01:模仿JavaAppArguments.java示例,编写一个程序,此程序从命令行接收多个数字,求和之后输出结果。

    1.设计思想: 首先是从JavaAppArguments.java示例开始,此示例已打印参数,定义数字 之和和作为存储单位的整型,然后将输入参数的字符串转化为整型,之后求和即可. 2.程序流程图: 3 ...

  9. 抽象数据类型ADT

    ADT(Abstract Data Type) 类型由什么组成? 一个类型(type)指定两类信息,一个属性集和一个操作集. 假设要定义一个新的数据类型.首先,要提供存储数据的方式,可能是通过设计一个 ...

随机推荐

  1. Readme.MD 例子

    了解一个项目,恐怕首先都是通过其Readme文件了解信息.如果你以为Readme文件都是随便写写的那你就错了.github,oschina git gitcafe的代码托管平台上的项目的Readme. ...

  2. 深入理解那该死的BOM

    BOM(Byte Order Mark),是UTF编码方案里用于标识编码的标准标记,在UTF-16里本来是FF FE,变成UTF-8就成了EF BB BF.这个标记是可选的,因为UTF8字节没有顺序, ...

  3. Emacs及扩展配置

    Emacs及扩展配置 Table of Contents 1. 动机之反思 2. 它山之石 3. 扩展的管理 4. 我额外安装的通用扩展(在purcell基础上) 5. LaTex相关的问题和配置 6 ...

  4. Android Studio真机测试

    本页内容 1.真机测试好处多 2.开始吧!真机测试 1.真机测试好处多 不久前才开我的Android Studio之旅,就遇上了一个大麻烦——创建的模拟器各种运行出错.尝试了各种解决方法,都没有什么结 ...

  5. HDU 1071 The area (数学定积分)

    题意:求阴影部分面积. 析:没什么可说的,就是一个普通的定积分. 代码如下: #include <cstdio> #include <iostream> using names ...

  6. 苹果禁用UUID了,咋办?

    By now you have probably heard that Apple is deprecating support for attaining a UDID from an iOS de ...

  7. HDU1863 畅通工程 2017-04-12 19:25 59人阅读 评论(0) 收藏

    畅通工程 Time Limit : 1000/1000ms (Java/Other)   Memory Limit : 32768/32768K (Java/Other) Total Submissi ...

  8. Template Method Design Pattern in Java

    Template Method is a behavioral design pattern and it’s used to create a method stub and deferring s ...

  9. [label][转载][web-design-psychology]网页设计心理

    原文出处: http://mux.alimama.com/posts/1301 Tip1:信息不要同时全部展示,阶段性地向用户展示当前场景里必要的信息 设计师经常犯的错误:同时将大量信息展示给用户.不 ...

  10. [label][JavaScript][The Defined Guide of JavaScript] 变量的作用域

    变量的作用域 一个变量的作用域(scope)是程序中定义这个变量的区域. 全局(global)变量的作用域(scope)是全局性的,即在JavaScript代码中,它处处都有定义.    而在函数之内 ...