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


    1.思维导图及学习体会

    1.1第一章绪论知识点思维导图

    1.2 学习体会

    上个学期因为本人水平不足,C语言的学习拖延了很多,导致现在的编程逻辑还是很差劲。我希望能尽力去弥补思维上的不足。
    现在又从C语言转换成了C++,两者的区别更加多样,想理解需要一定的努力。

    2.大作业作业内容

    2.1 设计日期的ADT类型

    ADT Date{
    数据对象:
                     D = {year,month,day | year,month,day属于int类型}
    数据关系:
        R = {<year,month>,<month,day>}
    数据操作:
         int InitDate( Date &date ,ElemType year,  ElemType month, ElemType day);
        //初始化日期 
    void Leap( ElemType year , ofstream &write);
        //判断是否闰年 
    int MonthName( Date date, ofstream &write);
        //返回月份的英文名 
    int Week(Date date,ofstream &write); 
        //返回这个日期是星期几 
    int Add(Date date,ofstream &write);
    void Logic(Date date,ofstream &write);
        //比较当前日期与otherDate的逻辑关系 
    int Judge(Date date,ofstream &write); 
        //操作结果:判断是否是合法数据 是返回1 否则返回0 
    void Destroy(Date &date);
        //销毁Date  
    }ADT Date
    

    2.2.数据抽象:头文件

    2.3数据封装说明

    common.h

    (1)构造日期数据类型函数,并分别判断情况并返回值

    (2)表示日期的格式

    (3)判断是否是闰年

    (4)判断月份,用switch分别表示

    (5)运用基姆拉尔森计算公式算出是星期几

    (6)给出当前的天数并在基础上增加days天

    (7)判断日期和其他日期的逻辑关系

    3.结果展示

    由于主函数有错误 程序未能正常运行

    4.调试碰到问题

    • 1.主函数调用还是要用到上个学期的很多知识,有一些困难。
    • 2.C++的逻辑和语法和C来说有些不同,有的地方并不能用普通的逻辑去思考。
    • 3.代码冗长,几乎每一次都无法成功运行,我在自行编写后一直无法正常运行,只能参考同学的作品。
  • 相关阅读:
    用故事说透 HTTPS
    nginx部署基于http负载均衡器
    Jenkins使用docker-maven-plugin进行编译时发现没有权限
    Jenkins执行mvn -f ${project_name} clean package报错:找不到父工程
    Harbor的镜像上传和拉取
    java.lang.NoClassDefFoundError: javax/xml/bind/DatatypeConverter
    Jenkins+SonarQube代码审查
    Centos7安装SonarQube7.9.3
    Centos7 rpm 安装Mysql5.7
    Jenkins 配置邮箱服务器发送构建结果
  • 原文地址:https://www.cnblogs.com/cosmosss/p/10508072.html
Copyright © 2020-2023  润新知