1、 基于 C+的面向对象程序设计实例 课程设计报告 报告题目: 高校人员信息管理系统 作者所在系部: 计算机科学与工程系 作者所在专业: 作者所在班级: 作 者 姓 名 : 指导教师姓名: 完 成 时 间 : 2012 年 6 月 北华航天工业学院教务处制 北华航天工业学院课程设计报告 摘 要 在当前各高校中,各高校想实现对本校的人员信息进行管理,同时也希望有一个快捷的管理方式,因此要有一套完善的并且适合自身特点的信息化管理系统,以实现对各类人员的管理。 本文利用 Microsoft Visual c+编写程序,实现了各校对人员信息的管理操作。 本系统主要有五 个类:人员类、教师类 、实验员 类
2、 、行政人员 类 ,教师兼行政人员类,有四个管理类,教师管理类 、实验员 管理类 、行政人员 管理类 ,教师兼行政人员 管理类,每个类有八个功能模块,分别是 添加功能 , 查询功能 ,显示功能, 编辑功能 ,删除功能, 统计功能 , 保存 功能, 读取功能。 已经过全面的系统测试,能够很好的运行,达到了预期的效果。 关键词: 系统设计 数据库 人员信息 北华航天工业学院课程设计报告 目 录 摘要 . 第 1 章 绪 论 . 1 1.1 课程设计的目的 . 1 1.2 课程设计的背景和意义 . 3 1.1.1 课程设计的背景 . 3 1.1.2 课程设计的意义 . 4 1.3 课程设计环境 .
3、7 第 2 章 需求分析 . 12 第 3 章 系统设计 . 17 第 4 章 系统实现 . 2 第 5 章 系统测试 . 17 总结 . 37 致谢 . 38 参考文献 . 39 附录 . 40 北华航天工业学院课程设计报告 1 第 1 章 绪论 1.1 课程设计的目的 ( 1)要求学生能够熟练掌握 C+语言的基本知识和技能。 ( 2)基本掌握面向对象程序设计的基本思路和方法。 ( 3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 1.2 课程设计的背景和意义 1.2.1 课程设计的背景 1. 理论研究基础 ( 1)类和对象 ( 2)运算符重载 ( 3) 继承与派生 ( 4
4、)多态性与虚函数 2. 技术层面的支持 Microsoft Visual c+ 1.2.2 课程设计的意义 1.3 课程设计环境 编写代码时使用的环境介绍。包括软件和硬件环境。 北华航天工业学院课程设计报告 2 第 2 章 需求分析 2.1 问题描述 某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等。2.2 功能要求 ( 1)基本功能 1) 添加功能 :程序能够任意 添加 上述四类人员的记录,可提供选择界面供用户选择
5、所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。 2) 查询功能 :可 根 据编号 、 姓名 等信息对已添加的记录 进行查询 ,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。 3) 显示功能:可显示当前系统中所有记录,每条记录占据一行。 4) 编辑功能 :可 根据查询 结果 对相应的记录进行修改 ,修改时注意编号的唯一性。 5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信
6、息,则提示相应的记录不存。 6) 统计功能 : 能根据多种参数进 行人员的统计 。例如,统计四类人员数量以及总数, 或者统计男、女员工的数量,或者统计某年龄段人员的数量等。 7) 保存功能 :可将当前系统中各类人员记录存入文件中,存入方式任意。 8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。 ( 2)扩展功能 在完成以上基本功能的基础上,可自行进行扩展或完善,例如: 1) 添加人员记录时,考虑各种数据的有效性。 2)组合查询功能的实现。 3)可按人员的某些信息进行排序。 4)对文件的读写使用二进制信息。 北华航天工业学院课程设计报告 3 2.3 问题的解决方案 根据
7、系统功能要求,可 以将问题解决分为以下步骤: 1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计; 2)分析系统中的各个实体及它们之间的关系; 3)根据问题描述,设计系统的类层次; 4)完成类层次中各个类的描述; 5)完成类中各个成员函数的定义; 6)完成系统的应用模块; 7)功能调试; 8)完成系统总结报告。 北华航天工业学院课程设计报告 4 第 3 章 系统设计 3.1 数据设计 3.1.1 类设计 本系统主要有五 个类:人员类、教师类 、实验员 类 、行政人员 类 ,教师兼行政人员 类,有四个管理类, 教师管理类 、实验员 管理类 、行政人员 管理类 ,教师兼行政人员 管理类
8、,每个类有数据成员,是每个类的基本信息,还有八个成员函数,分别是 添加 成员函数 , 查询 成员函数 ,显示 成员函数 , 编辑 成员函数 ,删除 成员函数 , 统计 成员函数 , 保存 成员函数 ,读取 成员函数 3.1.2 类之间的关系 人员类是基类,教师类 、实验员 类 、行政人员 类是其派生类, 教师兼行政人员 类是 教师和行政人员 类的派生类,这样定义能使程序变得更加简单,派生类中的成员函数和数据成员可使用基类的,使用了派生和继承,使程序变简单了。 3.1.3 函数设计 定义了教师菜单函数,实验员菜单函数,行政人员菜单函数、 教师兼行政人员 类,这些函数可调用派生类中的 添加 成员函
9、数 , 查询 成员函数 ,显示 成员函数 , 编辑 成员函数 ,删除 成员函数 , 统计 成员函数 , 保存 成员函数 ,读取 成员函数。 3.2 结构设计 3.2.1 系统流程图 画出系统中用到的所有类和函数的关系图。如继承、调用关系等。用流程图画。 3.2.2 界面设计 主菜单中可调用教师菜单函数,实验员菜单函数,行政人员菜单函数、 教师兼行政人员 类,这些函数可调用派生类中的 添加 成员函数 , 查询 成员函数 ,显示 成员函数 , 编辑 成员函 数 ,删除 成员函数 , 统计 成员函数 , 保存 成员函数 ,读取 成员函数。界面设计是用输出流设计的。 北华航天工业学院课程设计报告 5
10、第 4 章 系统实现 4.1 类实现 class Person protected: int num;char name20;char sex;int age; public: virtual void Input()=0; virtual void Output()=0; ; class Teacher:virtual protected Person protected: char department20;char major20;char job20; public: void Input() coutnum; coutname; coutsex; coutage; coutdepar
11、tment; coutmajor; coutjob; void Output() coutnum; coutname; coutsex; coutage; coutexperiment_room; coutjob; void Output() coutnum; coutname; coutsex; coutage; coutpolitics_status; coutjob; void Output() 北华航天工业学院课程设计报告 7 coutnum; coutname; coutsex; coutage; coutpolitics_status; coutdepartment; coutmajor; coutjob; void Output() cout“教师兼行政人员的工号: “num“ 教师兼行政人员的姓名:“name“ 教师兼行政人员的性别: “sex“ 教师兼行政人员的年龄: “age“ 教师兼行政人员所在的政治面貌: “politics_status“ 教师兼行政人员所 在的系别:“department“ 教师兼行政人员所在的专业: “major“ 教师兼行政人员的职称:“jobendl; int get_num() return num; char * get_name() return name; ;