• DS博客作业01—日期抽象数据类型设计与实现


    1.本章学习总结

    1.1 思维导图

    1.2学习体会

    开学就来了个大作业,还要求用的是c++语法,作为一个只听过没学过的未知语法,靠着CSDN和寝室大佬的帮助下渐渐地了解了一些c++的使用,现在也可以使用一些语法来代替c写东西了。在这其中发现c++的使用比C语言简单一点,比如:输入和输出,字符串合并可以直接c++用加法,还有c++读取文件,写入文件的用法也比C简单得多。要学习的东西还有很多啊!

    2.大作业内容

    2.1设计日期的ADT类型

    ADT Date{
    数据对象:
        D = {year,month,day | year,month,day属于int类型}
    数据关系:
        R = {<year,month>,<month,day>}
    数据操作:
    status readTxt(date &D, int year, int month, int day);
    //初始化日期
    //操作结果:构造了日期数据结构Date,其中year,month,days分别为Date中的年,月,日
    status judgeRight(date &D,ofstream &outline);
    //初始条件:date存在
    //操作结果:判断日期是否属于正常范围
    status leap_year(int year);
    //初始条件:date存在
    //操作结果:判断该年是否为闰年
    string animals(date &D);
    //初始条件:date存在
    //操作结果:计算年份对应生肖
    void CalculateWeekDay(date &D, ofstream &outline);
    //初始条件:date存在
    //操作结果:基姆拉尔森计算公式根据日期判断星期几
    void addDate(date &D, ofstream &outline);
    //初始条件:date存在
    //操作结果:对于增加天数的计算
    void compare(date &D, ofstream &outline);
    //初始条件:date存在
    //操作结果:比较日期的关系
    

    2.2数据抽象

    头文件

    2.3数据封装

    1.构造日期数据类型函数

    2.销毁日期数据类型函数

    3.判断是否是闰年函数

    4.输出是星期几的函数

    5.输出月份的英文名的函数

    6.判断输入日期之间的逻辑关系的函数

    7.判断日期是否合法的函数

    8.判断日期的函数函数

    2.3运行结果


    3调试中的问题

    A1:首先是C++中文件开闭的操作不知道该如何实现。
    A2:其次就是函数之间的传参问题,应为这次的函数类型较多所以会经常弄混。
    A3:日期会输不进去和写不进txt文件的问题
    A4:在日期相加函数上面不会,借鉴了同学的代码

  • 相关阅读:
    Codeforces610b
    Codeforces597A
    Timus1014(贪心算法)
    一般贪心
    优先队列问题(此题来源哈尔滨理工大学VJ)
    POJ2551Dungeon Master
    LightOJ 1140: How Many Zeroes? (数位DP)
    HDU 2089:不要62(数位DP)
    HDU 4722:Good Numbers(数位DP)
    HDU 3709: Balanced Number (数位DP)
  • 原文地址:https://www.cnblogs.com/asings/p/10507181.html
Copyright © 2020-2023  润新知