第六次作业

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. delphi XE8 NetHTTPRequest NetHTTPClient

    delphi xe8 推出2个新http控件,NetHTTPRequest.NetHTTPClient 可以调用ASP.Net 一般应用程序获取网页数据,用旧的控件idhttp控件也可以,推荐用新的这 ...

  2. IOS 证书失效

    IOS 证书失效,能选择ppf,选择不了证书. [Error] No certificate found in provisioning profile "aee9b804-bc71-4ce ...

  3. 学习Maven之PropertiesMavenPlugin

    1.PRoperties-maven-plugin是个什么鬼? 介绍前我们先看一个问题,比如我们有一个maven项目结构如下:一般我们都把一些配置文件放到像src/main/resources/jdb ...

  4. NodeJs-Linux环境初步

    1.Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具. 使用 Express 可以快速地搭建一个完整功能 ...

  5. rook

    https://github.com/rook/rook https://rook.github.io/docs/rook/master/ Rook是在云本地环境中运行的分布式存储系统的开源编排器. ...

  6. http://angular.github.io/router/

    Angular New Router Guide Configuring the Router- This guide shows the many ways to map URLs to compo ...

  7. 数据挖掘潜规则zz

    声明:本文指的是做数据挖掘这行,不是数据仓库 我干这行有几年了,见了很多人,干了很多公司,爆一爆这个行业的状况吧……让后来人有所了解,也让猎头挖人挖的有点方向,起码和candidates聊天的时候不至 ...

  8. centos环境下创建数据库和表的方法

    centos环境下创建数据库和表的方法 //查询数据库的命令: mysql> SHOW DATABASES; +--------------------+ | Database         ...

  9. maven pom.xml中的 build说明

    在Maven的pom.xml文件中,Build相关配置包含两个部分,一个是<build>,另一个是<reporting>,这里我们只介绍<build>. 1. 在M ...

  10. Monokai风格的EditPlus配色方案

    EditPlus的配置文件editplus_u.ini,该文件默认在:系统盘:\Users\用户名\AppData\Roaming\EditPlus目录中.将其中的内容替换为如下即可: [Option ...