课程设计选题管理系统报告
上 海 电 力 学 院 课程设计报告 面向对象程序设计 (2023/2023学年第一学期) 课题名称 课程设计选题管理系统设计 院 (系) 电子与信息工程学院 专 业 通信工程 学 号 20232234 姓 名 储昊 时 间 2023年1月19日至1月23日 地 点 虚拟仿真实验室(南4教312) 指导老师 骆政屹 目 录 一、设计目的与任务……………………………………………………………………….2 1、本课程设计的目的……………………………………………………………………….2 2、本课程设计的任务……………………………………………………………………….2 二、设计方案…………………………………………………………………………………3 1、总体设计……………………………………………………………………………………….3 2、系统设计……………………………………………………………………………………….3 3、系统实现……………………………………………………………………………………….5 4、系统测试………………………………………………………………………………………16 三.心得体会…………………………………………………………………………………….20 一、设计目的与任务 1、本课程设计的目的 1)课程设计是实践教学环节。设立课程设计的目的是加强学生对本课程及相关课程知识的理解,培养学生综合运用理论知识分析和解决实际问题的方法与能力。有助于提高学生的创新能力和创新意识。搞好课程设计教学工作,对实现专业培养目的,提高学生全面素质有重要作用。 2)通过课程设计更进一步理解 C++的基础知识。 3)训练用系统的观点及软件开发的一般规范进行软件开发,并在此过程中培养严谨的科学态度和良好的工作作风。初步掌握软件开发过程中的问题分析、系统设计、程序编码、调试、测试等方面的基本方法和技能。 4) 纯熟掌握 C++知识在程序中的应用,了解书本知识在解决实际问题中的用途。 2、本课程设计的任务 (1)问题描述 课程设计题目涉及:编号、名称、关键词、实现技术、人员数(由几个人来完毕)等信息。 学生信息涉及:学号、姓名、性别、年龄、班级、专业等信息。 (2)功能规定 ① 添加功能:程序可以添加学生的记录和课程设计题目记录,提供选择界面供用户选择所要添加的类别。添加记录时,规定学号和编号要唯一。假如添加了反复记录,则提醒数据添加反复并取消添加。 ② 查询功能:可根据学号、姓名、编号、名称等信息对已添加的学生和课程设计题目进行查询,假如未找到,给出相应的提醒信息,假如找到,则显示相应的记录信息。 ③ 显示功能:可显示当前系统中所有学生的信息和课程设计题目信息,每条记录占据一行。 ④ 编辑功能:可根据查询结果对相应的记录进行修改,修改时注意学号的唯一性。 ⑤ 删除功能:重要实现对已添加的学生和课程设计题目记录进行删除。假如当前系统中没有相应的记录,则提醒“记录为空!”并返回操作。 ⑥ 记录功能:能根据多种参数进行记录。能按课程设计题目名称记录出学生选择该题目的人员的信息。 ⑦ 保存功能:可将当前系统中各类记录存入文献中,存入方式任意。 ⑧ 读取功能:可将保存在文献中的信息读入到当前系统中,供用户进行使用。 二、 设计方案 1、总体设计 我们设计一个程序对学生课程设计选题信息进行保存,对学生的选题信息进行可执行多种操作,该程序涉及以下功能模块:1)学生信息添加模块:可以输入学生基本信息并保存到文献中。2)查询模块:显示所有符合规定的课程设计信息。3)编辑模块:可对学生信息进行修改。4)删除模块:可删除相应的学生信息。5)记录模块:能根据多种参数进行记录。6)查看模块:显示所有课程设计选题的信息。7)退出系统。为了完善系统,我们还添加了一个登录界面。 2、系统设计 1)类设计 定义一个学生类Student,类中涉及学号stuid,姓名stuname,性别sex,年龄age,班级clas,专业specialty,及所选课程的课程编号couid,课程名称 couname,关键词keyword,实现技术technology; 定义一个管理类Guanli,其成员函数涉及向文献输入函数void write(int n);从文献读取函数,int read();添加学生信息函数void add(),查询信息函数void search (),按学号查询函数void searchsid(),按姓名查询函数void searchsname(),按题目编号查询函数void searchcid(),按题目名称查询函数void searchcname();修改信息函数void alter() ;删除信息函数void del();记录信息函数void total();显示函数void display()以及一个数据成员Student stu[50]。 2)函数设计 void write(int n),向文献中写入数据,打开文本文档,并将数据输入到文本文档中;int read(),向文献中写入数据从文献中读数据,打开文本文档,并将文本文档中的数据输出;void add(),添加学生信息;void search()查询信息(可根据学生的学号、姓名、所选课程编号、课程名称进行信息查询);void alter(),修改学生信息;void del(),删除学生信息,根据输入的学生学号通过调用函数实现;void total(),记录学生信息(根据学生所选课程名称进行记录);void display(),显示函数用来显示所有学生信息;int main()主函数,显示主菜单,调用各个函数实现所有功能。 3)系统流程图 课程设计学生选课系统设计结构图:进入功能界面后,可以进行多项功能选择,如添加、查询、显示、修改、删除、记录,将数据写入文献以及从文献读取数据等;而查询功能又可以分为按学号、姓名、题目编号、题目名称等方式进行查询。如下图所示。 主菜单 退出系统 显示所有记录 记录所有记录 删除学生信息 修改学生信息 查询记录信息 添加新的记录 按学号查询 按姓名查询 按编号查询 按名称查询 4)界面设计 主界面是“欢迎使用课程设计选课系统”,下面是所要使用的功能: 1. 添加新的纪录 2. 查询记录信息 3. 修改学生信息 4. 删除学生信息 5. 记录所有记录 6. 显示所有记录 0. 退出系统 其中,查询记录又可以弹出一个界面分别有以下几个功能: 1. 根据学号查询 2. 根据姓名查询 3. 根据编号查询 4. 根据题目名称查询 每实现一个功能,重新弹出主界面,进行下一个的功能选择。 3、系统实现 1)类实现