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. 如何优化Java垃圾回收-zz

    为什么需要优化GC 或者说的更确切一些,对于基于Java的服务,是否有必要优化GC?应该说,对于所有的基于Java的服务,并不总是需要进行GC优化,但前提是所运行的基于Java的系统,包含了如下参数或 ...

  2. [代码][deque容器练习]打分案例

    案例要求: //打分案例(sort算法排序)//创建5个选手(姓名.得分),十个评委对五个选手进行打分//得分规则:去除最高分,去除最低分,取出平均分//按得分对5个选手进行排名 源代码: //打分案 ...

  3. JAVA获取txt文件内容

    JAVA 读取txt文件内容 通常,我们可以直接通过文件流来读取txt文件的内容,但有时可能会出现乱码!此时只要设置一下文件字符编码即可. public class txttest { /** * 读 ...

  4. TI davinci DM6467通过串口0将UBL和u-boot写入NAND flash

    TI的davinci系列一般支持好几种启动模式,如下图TMS320DM6467的datasheet可以查到所有的BOOTMODE LVS301和LW9226的开发板上有一个选择bootmode的拨码开 ...

  5. [Android开源项目] GitHub开源项目总结 (转)

    [Android开源项目] GitHub开源项目总结 GitHub开源项目android-styled-dialogs http://neast.cn/forum.php?mod=viewthread ...

  6. 裸函数naked解析

    先分享一个案例: #include <stdio.h> __declspec(naked) void Test() { int x; x = ; __asm ret; } int main ...

  7. hibernate与ssm多数据源配置

    hibernate: 1.配置多个数据源,比如2个:hibernate.cfg1.xml~hibernate.cfg8.xml <?xml version='1.0' encoding='UTF ...

  8. JavaScript RegExp.exec() 方法

    定义和用法: exec() 方法用于检索字符串中的正则表达式的匹配. 语法: RegExpObject.exec(string); RegExpObject:必须参数,正则表达式: string:必须 ...

  9. python高性能编程方法一-乾颐堂

    阅读 Zen of Python,在Python解析器中输入 import this. 一个犀利的Python新手可能会注意到"解析"一词, 认为Python不过是另一门脚本语言. ...

  10. div清空填充

    1.清空 $('#editPrize').empty(); 2.填充 var html= '<span>追加</span>'; $('#editPrize' ).append( ...