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. centos7.3下apache搭建django[未成功]

    1 apache肯定已经按照完毕了, 如果没有  yum install httpd yum install mod_wsgi 安装完成之后,mod_wsgi.so会在Apache的modules目录 ...

  2. ES6系列_12之map数据结构

    1.map数据结构出现的原因? JavaScript 的对象(Object),本质上是键值对的集合(Hash 结构),但是传统上只能用字符串当作键.这给它的使用带来了很大的限制.为了能实现将对象作为键 ...

  3. c# 二维码支持中文

    /// <summary> /// 生成二维码,保存成图片 /// </summary> static void Generate1(string text) { Barcod ...

  4. JSONArray的初始化的形式

    1 转义字符形式 [    {        \"ID\": \"1900036295\",        \"DEPT\": \" ...

  5. 【poj3254】Corn Fields 状态压缩dp

    AC通道:http://vjudge.net/problem/POJ-3254 [题目大意] 农夫约翰购买了一处肥沃的矩形牧场,分成M*N(1<=M<=12; 1<=N<=12 ...

  6. fastdfs单机版的安装+nginx

    一.FastDFS介绍 FastDFS开源地址:https://github.com/happyfish100 参考:分布式文件系统FastDFS设计原理 参考:FastDFS分布式文件系统 1.简介 ...

  7. QByteArray to QString

    QByteArray => QString void BarEngine::ByteArrayToString(QByteArray &ba, QString &str) { i ...

  8. ubuntu账户密码正确但是登录不进去系统

    ubuntu12.04管理员账户登录不了桌面,只能客人会话登录 求助!!ubuntu12.04管理员账户登录不了桌面,只能客人会话登录. ctrl+alt+f1 ,切换到tty1,输入管理员帐号和密码 ...

  9. serialVersionUID的作用以及IDEA、Eclipse如何自动生成serialVersionUID

    说到serialVersionUID,首先要讲讲序列化. 序列化: 序列化可以将一个java对象以二进制流的方式在网络中传输并且可以被持久化到数据库.文件系统中,反序列化则是可以把之前持久化在数据库或 ...

  10. sublime填坑之旅: 格式代码, 缩进缩进

    前言:sublime是一款编程神器,轻巧又强大,适用于各种语言.这里介绍下如何快速缩进混乱代码,方便代码阅读. 原料:sublime text 3 1 混乱代码如下: 2  格式菜单选择: 英文: 菜 ...