• 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天输出新日期的写法有点迷糊
      借鉴了一下优秀同学的代码
    • 开始不知道可以把文件指针作为参数,传给函数
      后来通过百度掌握了这种操作,下次不能忘记指针前 & !!!!
    • 不明白怎么直接将字符输出
      借用数组,通过返回的数字作为数组下标输出对应的星期和月份英文名
    • 没有避免非法数据对于程序的影响
  • 相关阅读:
    黑马程序员__OC三大特性
    黑马程序员___OC类和对象
    黑马程序员___预处理指令
    黑马程序员___数据类型总结
    黑马程序员__指针
    黑马程序员__C语言__函数__static和extern
    黑马程序员__C语言__流程控制__选择结构
    黑马程序员__C语言__循环结构
    入园随笔
    Fiddler中抓取不到Jmeter模拟的请求包。
  • 原文地址:https://www.cnblogs.com/victory0917/p/10497795.html
Copyright © 2020-2023  润新知