文档详情

学生管理系统报告书.docx

发布:2017-05-29约1.82万字共55页下载文档
文本预览下载声明
内蒙古科技大学本科生课程设计论文题 目:学生信息管理系统学生姓名:学 号:专 业:班 级:指导教师:年 月日目录第1章 需求分析1第2章 总体设计1第3章 抽象数据类型定义23.1Student抽象数据类型的设计23.2 StuSystem抽象数据类型的设计3第4章 详细设计44.1 工程视图44.2 类图视图44.3 函数的调用关系64.4 主程序流程图64.5 主要算法的流程图7第5章 测试9第6章 总结14附录:程序代码14一、需求分析学生信息管理系统要求综合运用《C++面向对象程序设计》和《数据结构》的知识来实现此题目。具体如下:设计人员基类,由其派生学生类人员基类中用虚函数(或纯虚函数)来统一标识类族相同操作,实现动态多态用顺序表来表示学生信息,相关存储结构要定义为类模板能对不同数据项进行查询,对有序数据项的查询要用折半查找算法实现对学生总成绩或单科成绩进行排序,至少用到一种先进的排序方法并设计主函数测试该类(或类模板)。二、总体设计图2.1 功能图三、抽象数据类型定义(一)、Student抽象数据类型的设计ADT Student{数据对象D:float Chinese, Math, English, totalScore; int flag;基本操作:void AddStudent()操作结果:添加新的学生信息。void EditStudent()初始条件:存在至少一条学生信息。操作结果:修改学生信息。void EditScore()初始条件:存在至少一条学生信息,并且已录入了成绩。操作结果:修改学生成绩。void SetChineseScore()void SetMathScore()void SetEnglishScore()初始条件:存在至少一条学生信息。操作结果:录入学生成绩。void SetFlag ()初始条件:存在至少一条学生信息,并且已录入了成绩。操作结果:flag=1。void ShowInfo()初始条件:存在至少一条学生信息。操作结果:显示学生各项信息。}ADT Student(二)、StuSystem抽象数据类型的设计ADT StuSystem{数据对象D:Student student[500] ,student_same[500] ,student_sort[500] ,temp;基本操作:void Manage_Student()void Manage_Score()操作结果:菜单函数。void Edit_DeleteStudent()初始条件:存在至少一条学生信息。操作结果:编辑或者删除此条信息。void List()初始条件:存在至少一条学生信息。操作结果:显示全部学生信息。void InputScore()初始条件:存在至少一条学生信息,且存在未录入成绩的学生。操作结果:录入学生成绩。void Edit_Score()初始条件:存在至少一条学生信息,且存在已录入成绩的学生。操作结果:修改成绩。void Sort()初始条件:存在至少一条学生信息。操作结果:根据单科成绩或者总成绩降序排序。void Search()初始条件:存在至少一条学生信息。操作结果:分别按学号、姓名查询学生信息。void Save()操作结果:保存信息到文件。void Read()操作结果:读取文件信息。} ADT StuSystem四、详细设计(一)、工程视图图4.1 工程视图(二)、类图视图图4.2 全局函数 图4.3 全局变量图4.4 Person类 图4.5 Student类图4.6 StuSystem类(三)、函数的调用关系如下图:图4.7 函数调用关系图(四)、主程序流程图图4.8 主程序流程图(五)、主要算法的流程图1、折半查找图4.9 折半查找算法的实现2、快速排序图4.10 快速排序的实现五、测试程序的运行结果截图。图4.11 主函数界面图图4.12 添加信息图4.13 修改信息图4.14 删除图4.15 显示全部信息图4.16 输入成绩图4.17 修改成绩图4.18 排序并查看图4.19 按学号查找图4.20 按姓名查找六、总结附录:程序代码#includeiostream#includefstream#include iomanip#includestring.h#includestdlib.h#include conio.husing namespace std;int student_id=0;int number=0;int lab=0;class Person{public: int ID; char
显示全部
相似文档