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语言类似。所以处理起来很顺手。

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

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

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

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

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

  6. DS博客作业05--查找

    这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业05--查找 这个作业的目标 学习查找的相关结构 姓名 黄静 目录 0.PTA得分截图 1.本周学习总结 1.1 ...

  7. C博客作业01——分支,顺序结构

    C博客作业01--分支,顺序结构 0.展示PTA总分 1本章学习内容 1.1学习内容总结 1)格式化输出函数printf(),scanf(). 它是什么? 对于初学者而言,一开始了解接触它们,只是被硬 ...

  8. DS博客作业03--树

    这个作业属于哪个班级 数据结构--网络2011/2012 这个作业的地址 DS博客作业03--树 这个作业的目标 学习树结构设计及运算操作 姓名 黄静 目录 0. PTA得分截图 1. 本周学习总结 ...

  9. DS博客作业——树

    DS博客作业--树 1.本周学习总结 1.思维导图 2.谈谈你对树结构的认识及学习体会. 在树这一章节,我们学习的是二叉树的算法. 树的构建:一种是直接给树的顺序存储结构的字符串,一种是通过先序遍历和 ...

随机推荐

  1. linux下创建具有root权限的账户

    http://blog.chinaunix.net/uid-24631445-id-2981034.html

  2. extjs [1]

    1.JS 类的声明,和对象的创建 2.原始方法用EXTJS创建一个window 3.利用一个按钮触发window窗体,了解一下EXTJS的事件机制 4.用EXTJS4.0的create来创建windo ...

  3. c# 之Web.config

    Web.config文件是一个XML文本文件,它用来储存 ASP.NET Web 应用程序的配置信息(如最常用的设置ASP.NET Web 应用程序的身份验证方式), 它可以出现在应用程序的每一个目录 ...

  4. JS计算字符长度、字节数 -- 转

    一个汉字在UTF-8编码中占用几个字节? 占用3个字节的范围 U+2E80 - U+2EF3 : 0xE2 0xBA 0x80 - 0xE2 0xBB 0xB3 共 115 个 U+2F00 - U+ ...

  5. MyBatis 延迟加载 加载时机

  6. readlink 获取当前进程对应proc/self/exe

    [readlink 获取当前进程对应proc/self/exe] shell中  readlink /proc/self/exe READLINK(2)NAME       readlink - re ...

  7. classpath 和 classpath* 的区别:

    classpath指的是java代码生成的class的路径. classpath 和 classpath* 区别: classpath:只会到你的class路径中查找找文件; classpath*:不 ...

  8. CVE-2017-7494:Linux Samba named pipe漏洞

    描述: 漏洞是由于代码中一个管道申请命令的判断导致的,可以通过构造特定请求执行上传的so文件. 漏洞影响了Samba 3.5.0 之后到4.6.4/4.5.10/4.4.14中间的所有版本. 测试: ...

  9. PropertySheet

    ---------------------------------include----------------------------------- E:\OpenSourceGraph\OSG_i ...

  10. 解题报告-683. K Empty Slots

    There is a garden with N slots. In each slot, there is a flower. The N flowers will bloom one by one ...