C++课程设计报告高校人员信息管理系统.doc
《C++课程设计报告高校人员信息管理系统.doc》由会员分享,可在线阅读,更多相关《C++课程设计报告高校人员信息管理系统.doc(44页珍藏版)》请在沃文网上搜索。
1、摘 要在当前各高校中,各高校想实现对本校的人员信息进行管理,同时也希望有一个快捷的管理方式,因此要有一套完善的并且适合自身特点的信息化管理系统,以实现对各类人员的管理。本文利用Microsoft Visual c+编写程序,实现了各校对人员信息的管理操作。本系统主要有五个类:人员类、教师类、实验员类、行政人员类,教师兼行政人员类,有四个管理类,教师管理类、实验员管理类、行政人员管理类,教师兼行政人员管理类,每个类有八个功能模块,分别是添加功能,查询功能,显示功能,编辑功能,删除功能,统计功能,保存功能,读取功能。已经过全面的系统测试,能够很好的运行,达到了预期的效果。关键词:系统设计 数据库
2、人员信息目 录摘要第1章 绪 论11.1 课程设计的目的11.2 课程设计的背景和意义31.1.1 课程设计的背景31.1.2 课程设计的意义41.3 课程设计环境7第2章 需求分析12第3章 系统设计17第4章 系统实现2第5章 系统测试17总结37致谢38参考文献39附录40第1章 绪论1.1 课程设计的目的(1)要求学生能够熟练掌握C+语言的基本知识和技能。(2)基本掌握面向对象程序设计的基本思路和方法。(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。1.2 课程设计的背景和意义1.2.1课程设计的背景1. 理论研究基础(1)类和对象(2)运算符重载(3) 继承与派生
3、(4)多态性与虚函数2. 技术层面的支持Microsoft Visual c+1.2.2 课程设计的意义1.3 课程设计环境编写代码时使用的环境介绍。包括软件和硬件环境。第2章 需求分析2.1 问题描述 某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等。2.2 功能要求(1)基本功能1) 添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号
4、的记录时,则提示数据添加重复并取消添加。2) 查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。3) 显示功能:可显示当前系统中所有记录,每条记录占据一行。4) 编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。6) 统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量
5、以及总数,或者统计男、女员工的数量,或者统计某年龄段人员的数量等。7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。(2)扩展功能在完成以上基本功能的基础上,可自行进行扩展或完善,例如: 1) 添加人员记录时,考虑各种数据的有效性。2)组合查询功能的实现。3)可按人员的某些信息进行排序。4)对文件的读写使用二进制信息。2.3 问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤: 1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;2)分析系统中的各个实体及它们之间的关系; 3)根据问题
6、描述,设计系统的类层次; 4)完成类层次中各个类的描述; 5)完成类中各个成员函数的定义; 6)完成系统的应用模块; 7)功能调试; 8)完成系统总结报告。第3章 系统设计3.1 数据设计3.1.1 类设计本系统主要有五个类:人员类、教师类、实验员类、行政人员类,教师兼行政人员类,有四个管理类,教师管理类、实验员管理类、行政人员管理类,教师兼行政人员管理类,每个类有数据成员,是每个类的基本信息,还有八个成员函数,分别是添加成员函数,查询成员函数,显示成员函数,编辑成员函数,删除成员函数,统计成员函数,保存成员函数,读取成员函数3.1.2 类之间的关系 人员类是基类,教师类、实验员类、行政人员类
7、是其派生类,教师兼行政人员类是教师和行政人员类的派生类,这样定义能使程序变得更加简单,派生类中的成员函数和数据成员可使用基类的,使用了派生和继承,使程序变简单了。3.1.3 函数设计 定义了教师菜单函数,实验员菜单函数,行政人员菜单函数、教师兼行政人员类,这些函数可调用派生类中的添加成员函数,查询成员函数,显示成员函数,编辑成员函数,删除成员函数,统计成员函数,保存成员函数,读取成员函数。3.2 结构设计3.2.1 系统流程图画出系统中用到的所有类和函数的关系图。如继承、调用关系等。用流程图画。3.2.2 界面设计 主菜单中可调用教师菜单函数,实验员菜单函数,行政人员菜单函数、教师兼行政人员类
8、,这些函数可调用派生类中的添加成员函数,查询成员函数,显示成员函数,编辑成员函数,删除成员函数,统计成员函数,保存成员函数,读取成员函数。界面设计是用输出流设计的。 第4章 系统实现4.1 类实现class Personprotected:int num;char name20;char sex;int age;public:virtual void Input()=0;virtual void Output()=0;class Teacher:virtual protected Personprotected:char department20;char major20;char job20
9、;public: void Input() coutnum; coutname;coutsex;coutage;coutdepartment;coutmajor;coutjob;void Output() cout教师的工号:num 教师的姓名:name 教师的性别:sex 教师的年龄:age 教师所在的系别:department 教师所在的专业:major 教师的职称:jobendl;int get_num()return num;char * get_name()return name;class Experiment:protected Personprotected:char job2
10、0;char experiment_room20;Public: void Input()coutnum; coutname;coutsex;coutage;coutexperiment_room;coutjob; void Output()cout实验员的职工号:num 实验员的姓名:name 实验员的性别:sex 实验员的年龄:age 实验员所在的实验室:experiment_room 实验员的职称:jobendl;int get_num()return num;char * get_name()return name;class Government:virtual protected
11、Personprotected:char job23;char politics_status33;public: void Input()coutnum; coutname;coutsex;coutage;coutpolitics_status;coutjob; void Output() cout行政人员的工号:num 行政人员的姓名:name 行政人员的性别:sex 行政人员的年龄:age 行政人员的政治面貌:politics_status 行政人员的职称:jobendl;int get_num()return num;char * get_name()return name;class
12、 Tea_Gover: virtual protected Government,virtual protected Teacherprotected:char job22;public: void Input()coutnum; coutname;coutsex;coutage;coutpolitics_status;coutdepartment;coutmajor;coutjob; void Output() cout教师兼行政人员的工号:num 教师兼行政人员的姓名:name 教师兼行政人员的性别:sex 教师兼行政人员的年龄:age 教师兼行政人员所在的政治面貌:politics_st
13、atus 教师兼行政人员所在的系别:department 教师兼行政人员所在的专业:major 教师兼行政人员的职称:jobendl;int get_num()return num;char * get_name()return name;4.2 函数实现class ExpManageExperiment Exp300; int top; public:ExpManage()top=0;void Add(); void Show();void Search();void Edit();void Delete(); void Total(); void Save(); void Read();
14、void Read1(); ;void ExpManage:Add()Experiment t; int a;cout请输入您想添加的实验员的信息,输入0可结束添加:endl;/提示输入新添加的人员的信息; couta; while(a) if(top=300) /如果当前数组的空间已满,提示用户不能再添加; cout当前存储空间已满,抱歉已无法继续添加,请谅解!endl; break;for(int i=0;itop;i+) /判断新添加的人员的编号在已有的记录中是否重复 if(a=Expi.get_num() cout您输入的实验员的工号已存在!请再次输入教师的工号:endl;/如果该记录
15、的编号已存在,提示用户该编号的人员已存在!并返回; break; if(i=top) t.Input();/提示输入新添加的人员的信息; Exptop=t;/如果该记录的编号不存在,则将其信息存入数组中,并修改top的值; top+; cout您已经成功添加,输入0可结束添加!endl;couta;void ExpManage:Show()cout程序中已存储的实验员信息为:endl;/对输出进行提示,然后输出当前数组中已存储的记录的信息;for(int i=0;itop;i+)Expi.Output();void ExpManage:Search()int c;coutc;if(c=1) i
16、nt a; couta;while(a)for(int i=0;itop;i+)/然后按照相应的查询方式,对Tea数组中的top条记录进行查询; if(a=Expi.get_num() Expi.Output();/如果找到了相应的记录,则显示相应的记录的信息即可。 break; if(i=top) cout查无此人endl;/查询结果分成两种情况:如果没有找到相应的记录,可提示查无此人!; couta; if(c=2) char n20,a2=0; coutn;while(strcmp(n,a)!=0) for(int i=0;itop;i+)/然后按照相应的查询方式,对Tea数组中的top
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
10 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 课程设计 报告 高校 人员 信息管理 系统