zoukankan      html  css  js  c++  java
  • DS博客作业01--日期抽象数据类型设计与实现

    1.本章学习总结

    1.1思维导图

    1.2 本章学习体会

    新知识的学习:相较于上学期C语言对于代码编程的学习,数据结构要显得理论性比较强,较为抽象,难度明显加大了,有些难以理解,需要多花一些时间,课前的预习变得更加必要。在第一周就要完成一份大作业显得有些吃力,第一次开始自主学习C++也让人有些头疼,在写大作业的过程中也感受到自己对于编程稍显生疏。接下来的学习过程中,要对于书上知识点理解掌握同时,也要开始对于代码的练习!
    完成大作业的过程:刚开始接触三元组其实很懵,不太明白到底是个什么概念的东西,所以一开始拿着题目无从下手,起初参照了老师之前发的Devc文件,建项目划分大概结构(吃了课设的亏,这次终于记得要先建项目了!!!),看了几遍代码之后才有所思路,因为主要是要用C++语言进行编程,不太懂,只能一点一点百度,循环之类的东西一直是我的弱点,大概是逻辑思维不太行,参考了同学的建议,虽然是完成了,但还是比较基础地完成,下一次要变好一点鸭!

    2.大作业

    2.1设计日期的ADT类型

       ADT Date{
                        数据对象:
                                        D={Year,Month,Day|Year,Month,Day属于int类型}
                        数据关系:
                                        R={<Year,Month>,<Month,Day>}
                        数据操作:
                                       Status InitDate(Date &L,int Year,int Month,int Day);
                                            //操作结果:构造日期数据结构Date Year/Month/Day
                                       Status ReasonDate(Date &L,int Year,int Month,int Day);
                                            //操作结果:判断日期是否合法 
                                       Status LeapYear(Date &L);
                                            //操作结果:判断是否是闰年 
                                       Status WeekDay(Date &L);
                                            //操作结果:判断星期几 
                                       Status MonthName(Date &L);
                                            //操作结果:输出月份名 
                                       Status NewDate(Date &L,ofstream &writeinFile);
                                            //操作结果:返回n天后的新日期 
                                       Status RelationDate(Date &L,ofstream &writeinFile);
                                            //操作结果:返回两个日期之间的关系                                     }ADT Date
    

    2.2数据抽象:头文件——参考Devc 三元组代码

    • Common.h——宏定义
    • triplet.h——头文件

    2.3数据封装说明

    (1)构造日期数据结构Date

    (2)判断日期是否合法


    (3)判断是否是闰年

    (4)判断星期几

    (5)输出月份名

    (6)返回n天后的新日期

    (7)返回两个日期之间的关系

    (8)main.cpp


    3.结果展示

    (1)read.txt


    (2)运行结果

    (3)非法数据

    • 从文件读取的日期不合法,无后续操作
    • 输入的日期不合法,重新输入,再进行比较

    4.调试碰到问题

    • << >>分不清楚
      笑哭,这个尖括号写着写着就马虎了。。。
    • 增加n天输出新日期的写法有点迷糊
      借鉴了一下优秀同学的代码
    • 开始不知道可以把文件指针作为参数,传给函数
      后来通过百度掌握了这种操作,下次不能忘记指针前 & !!!!
    • 不明白怎么直接将字符输出
      借用数组,通过返回的数字作为数组下标输出对应的星期和月份英文名
    • 没有避免非法数据对于程序的影响
  • 相关阅读:
    我们毕业了!!!@全体成员
    华东交通大学编译原理期末试卷
    软件设计师中级下午答题解题策略分析~
    Java实现旅行商最短距离
    基于SSH的医院在线挂号
    基于Java的模拟写字板的设计与实现
    基于java的雷电游戏
    基于Java的飞机大战游戏的设计与实现
    基于Java的超级玛丽游戏的设计与实现
    基于Javaee的影视创作论坛的设计与实现
  • 原文地址:https://www.cnblogs.com/victory0917/p/10497795.html
Copyright © 2011-2022 走看看