• C++程序设计


    C++程序设计

    《C++程序设计》课程设计指导基本要求
    课程设计名称:C++程序设计课程设计 课程设计周(时)数:2周(不停课)
    指导方式:集体辅导与个别辅导相结合 课程设计适用专业:计算机科学与技术
    课程设计教材及主要参考资料:
    1、《C++面向对象程序设计》,吴克力编著,清华大学出版社
    2、《C++程序设计》,吴乃陵,况迎辉编著,高等教育出版社
    3、《C++程序设计实践教程》,吴乃陵,李海文编著,高等教育出版社
    4、其他参考资料,学生可以自行拟定和查找

    一、课程设计教学目的及基本要求
    本课程设计是《C++程序设计》课程的组成之一,也是它的继续和延伸。采用研究型学习方法,分组完成一个管理类型的小型软件。开设本课程的目的是使学生通过参加小型软件的开发过程,进一步掌握面向对象的程序设计方法,使学生具有团队协作精神,并培养学生的创新能力和创新意识。
    要求如下:
    1.了解并掌握面向对象程序设计方法,具备初步的独立分析和设计能力;系统实现要求用到所学的C++所有知识点相关技术

    2.初步掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;
    3.提高综合运用所学的理论知识和方法独立分析和解决问题的能力;
    4.训练用系统的观点和软件开发一般规范进行软件开发,培养软件工作者所应具备的科学的工作方法和作风。
    5.设计的题目要求达到一定工作量(500行以上代码),并具有一定的深度和难度。
    6.编写出课程设计说明书,说明书不少于8页(源代码不算)。
    7. 学生必须仔细阅读《C++程序设计》课程设计方案,认真主动完成课程设计的要求。要发挥自主学习的能力,充分利用课余时间,安排好课程设计的时间计划,并在课程设计过程中不断检测自己的计划完成情况。在课程设计期间,以自学和上机实验为主。

    二、课程设计内容及安排
    1.问题分析和任务定义:
    根据设计题目的要求,充分地分析和理解问题,明确问题要求做什么,(而不是怎么做)限制条件是什么。
    2.概要设计:
    对问题描述中涉及的操作对象定义相应的类,并按照以数据结构为中心的原则划分模块,定义主程序模块和各抽象数据类型。逻辑设计的结果应写出每个抽象数据类型的定义(包括数据结构的描述和每个基本操作的功能说明),各个主要模块的算法,并画出模块之间的调用关系图;
    3.详细设计:
    定义相应的存储结构并写出各函数的伪码算法。在这个过程中,要综合考虑系统功能,使得系统结构清晰、合理、简单和易于调试,抽象数据类型的实现尽可能做到数据封装,基本操作的规格说明尽可能明确具体。详细设计的结果是对问题作出进一步的求精,写出数据存储结构的类型定义,写出函数形式的算法框架;
    4.程序编码:
    把详细设计的结果进一步求精为程序设计语言程序。同时加入一些注解,使程序中逻辑概念清楚;
    5.程序调试与测试:
    采用自底向上,分模块进行,即先调试低层函数。能够熟练掌握调试工具的各种功能,设计测试数据确定疑点,通过修改程序来证实它或绕过它。调试正确后,认真整理源程序及其注释,形成格式和风格良好的源程序清单和结果;
    6.结果分析:
    程序运行结果包括正确的输入及其输出结果和含有错误的输入及其输出结果。算法的时间、空间复杂性分析;
    7.编写课程设计报告;
    三、课程设计题目
    (一)设计题目
    1、淮师计科学生综合测评系统的设计与实现

    源码下载

    链接:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111
    提取码:1111

    2、淮师计科学生选课系统的设计与实现
    数据表与功能如:
    教师信息表
    本科学生信息表
    研究生信息表
    在职研究生信息表
    课程信息表
    专业课程信息表
    通识课程信息表
    公共选修课程信息表

    课程基本信息:课程名,课时,开课学期,学分
    专业选修课信息包括:课程名,课时,开课学期,学分,开课对象,所属专业;
    公共选修课信息包括:课程名,课时,开课学期,学分,开课对象, 面向专业,开课系部。
    学生信息:学号,姓名,专业,选课信息
    功能要求:
    (1)课程信息的维护:查询课程信息情况、增加课程信息、删除课程信息、更新课程信息。
    (2)学生信息的维护:查询学生信息情况、增加学生信息、删除学生信息、更新学生信息。
    (3)选课:每人每学期选课不能超过4门;同一学期选修同一门课程的学生人数不能超过100人。只能选自己专业的专业选修课或面向自己专业的公共选修课。
    (4)选课信息:记录学生的选课情况,属性为:课程名,选课时间(学期),成绩。
    (5)统计模块包括:每个学生选修课程的门数,每门课程选修的学生人数。
    以上仅供参考!!

    源码下载

    链接:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111
    提取码:1111

    3、淮师课务管理系统的设计与实现
    系统登录,1.管理员 2.教师 3.学生

    1)管理员端的功能

    1. 教师端功能

    2. 学生端功能模块

    课程信息表:课程编号,课程名,教师编号,上课时间,上课地址,周数,课程类型,所属院系
    学生信息表: 学生编号, 学生名, 性别, 出生日期, 成绩, 所属学院
    管理人员信息表: 用户编号, 用户名, 密码, 角色
    教师信息表: 教师编号, 教师名, 性别, 出生日期, 学历, 职称, 入职年份, 所属院系
    场地信息表: 场地编号, 场地名, 占用状态, 占用理由, 占用时间, 占用人
    考勤信息表: 考勤编号, 签到人, 考勤时间
    学院信息表: 学院编号, 所属院系
    教室信息表: 场地编号, 场地名, 占用状态, 占用理由,占用时间, 占用人
    教评信息表: 教评编号 评教 考勤时间 被评价人 评价人 分数 建议
    考试申报信息表: 编号, 学生号, 考试编号, 申报状态
    签到信息表: 编号 开始时间 结束时间
    以上仅供参考

    源码下载

    链接:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111
    提取码:1111

    4、淮师图书管理系统的设计与实现
    图书信息:图书号、书名、作者名、分类号、出版单位、出版时间、价格、库存量。
    读者信息:借阅证号、姓名、性别、出生日期。
    读者信息派生以下两个类:
    学生读者(年级、系别、可借数量(其中:本科生10本(中文8本,外文2本),研究生(中文15本,外文5本)
    教师读者(部门,可借数量(中文20本,外文10本)
    试设计一图书信息管理系统,使之能提供以下功能:
    (1)采编入库:新购入一本书,经分类和确定书号后登记到图书账目中去,若该书已存在,这库存量增加
    (2)借阅:若一种书的现存量大于0,且借阅证还可借(未达最大借阅数或没有过期书目)该则借出一本,登记借阅者的图书证号和应归还期限
    系统功能参考:

    读者信息表: 读者编号 用户名 密码 姓名 性别 身份证号 电话号码 邮箱 现借图书数
    管理员信息表: 管理员编号 用户名 密码 真实姓名 性别 身份证号 电话号码
    图书信息表: 图书编号 书名 作者 类型 价格 出版社 现存量 库存总量 入库时间 馆藏地 借阅次数
    图书借阅信息表: 借阅编号 图书编号 书名 读者编号 读者姓名 借阅时间
    图书续借信息表: 续借编号 图书编号 书名 读者编号 读者姓名 续借时间
    读者挂失信息表: 丢失编号 图书编号 书名 读者编号 读者姓名 丢失时间
    图书规还信息表: 归还编号 图书编号 书名 读者编号 读者姓名 归还时间
    图书罚款信息表: 罚款编号 图书编号 书名 读者编号 读者姓名 罚款金额 罚款日期 罚款原因
    图书借阅清单信息表: 清单编号 图书编号 书名 读者编号 读者姓名 图书状态

    (3)归还:若过期要缴纳罚款,注销借阅者的登记,改变该书的现存量
    (4)清除库存:某书已无保留价值,将它从图书账目中注销
    (5)查询功能:--按书名查询(模糊查询) 按作者名或借阅证查询
    上述只是抛砖引玉

    源码下载

    链接:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111
    提取码:1111

    5、淮师计科学生考勤管理系统的设计与实现
    通过设计、实现一个学生考勤管理系统,主要功能如下:
    (1)录入学生的缺课记录:首先提示用户按照正确的格式进行学生缺课记录的录入。
    (2)修改某个学生的缺课记录:查找到你所需要修改的那位的学生全部缺课记录。在修改前要检查记录是否为空了,不为空的话,可以设置下面这五个菜单供用户选择:
    1、缺课日期
    2、第几节课
    3、课程名称
    4、学生姓名
    5、缺课类型
    6、退出修改程序并返回系统主菜单
    修改很简单,仅需要对该学生的某个部分进行替换即可,实现对所选记录的修改,完成后更新原有的学生记录。
    (3)查询某个学生的缺课情况
    按学生姓名查找,为了达到查询结果按照日期升序排序,同一天内按照所缺课程的时间升序排序
    (4)统计旷课学生姓名及旷课节数和有学生旷课的课程及旷课人次
    (5)退出系统

    源码下载

    链接:https://pan.baidu.com/s/1JJs9vbZahUCB6cQvXLgAVg?pwd=1111
    提取码:1111

    上述仅供参考
    (二)其它要求:
    (1) 只能使用C++语言,源程序要有适当的注释,使程序容易阅读;
    (2) 至少采用文本菜单界面(如果能采用图形菜单界面更好)(可以通过自学实现);
    (3) 学生可自动增加新功能模块(视情况可另外加分);
    (4)设计要求数据用类来组合数据与操作;
    (5)可以使用继承的方法构造类,应尽量使用已减少代码的冗余度(例如,学校职工管理系统 雇员类——虚基类,教师类和工人类——派生类);
    (6)必要时,对于相应数据类型的数据的输入和输出,要求对“<<”和“>>”运算符进行重载。例如考虑到输人学号时,也会因不小心引人空格,而且名字中也需要有空格,所以重载“>>’’运算符时,需要满足这个要求。
    (7)写出课程设计报告,具体要求见相关说明文档

    四、 设计报告的内容
    设计结束后要写出课程设计报告,以作为整个课程设计评分的书面依据和存档材料。设计报告以规定格式的电子文档书写、打印并装订,排版及图、表要清楚、工整。
    内容及要求如下:
    1)封面:
    题目、班级、姓名、学号、指导教师和完成日期。
    2)正文包括以下7个内容:
    1.需求分析
       以无歧义的陈述说明程序设计的任务,并明确规定:
       (1) 输入的形式和输入值的范围;
       (2) 输出的形式;
       (3) 程序所能达到的功能;
       (4) 测试数据:包括正确的输入及其输出结果和含有错误的输入及其输出结果。
    2.概要设计
       说明本程序中用到的所有抽象数据类型的定义、主程序的流程以及各程序模块之间的层次(调用)关系。
    3.详细设计
       实现概要设计中定义的所有类,对每个操作只需要写出伪码算法;采用流程图等进行描述,画出函数和过程的调用关系图。
    4.调试分析
      内容包括:
       a.调试过程中遇到的问题是如何解决的以及对设计与实现的回顾讨论和分析;
       b.算法的时空分析(包括基本操作和其他算法的时间复杂度和空间复杂度的分析)和改进设想;
       c.经验和体会等。
    5.用户使用说明
       说明如何使用你编写的程序,详细列出每一步的操作步骤。
    6.测试结果
       列出你的测试结果,包括输入和输出。这里的测试数据应该完整和严格,最好多于需求分析中所列。
    7.参考文献
       列出参考的相关资料和书籍。

    五、考核方法及成绩评定

    1. 设计结束时,要求每人提交一份课程设计报告(不附源程序),不得少于8页,可运行的软件系统(包括源程序)一份。
    2. 《C++程序设计》课程设计是一门独立课程,最后成绩有以下几个方面组成:
      程序运行情况(40分),程序的结构合理与否(10分),算法说明的清晰程度(20分),上交程序的规范程度(10分),总结的深刻程度(20分)(课程设计雷同者总成绩以0分计算)。
  • 相关阅读:
    4.2 sql手工注入和自动注入实战(OWASP实战训练)
    面了三十个人,说说真实感受
    Linux安装Oracle和postgrepSQL数据库
    一次服务启动慢问题排查
    Servlet
    Kubernetes 服务发现
    输入网址input,提取标题和正文
    Springboot+redis序列化方式到底怎么选+redis配置类+redis工具类
    【附源码】计算机毕业设计java自助旅游平台设计与实现
    CRM系统销售自动化功能如何提高销售效率
  • 原文地址:https://blog.csdn.net/qq_35960743/article/details/125546097