




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、bigwork设计报告报告题目: 高校人员信息管理系统 作者所在系部: 计算机科学与工程系 作者所在专业: 计算机科学与技术 作者所在班级: 作 者 姓 名 : 指导教师姓名: 完 成 时 间 : 2013-6-20 一目的与要求1、目的(1)要求学生能够熟练掌握c+语言的基本知识和技能。(2)基本掌握面向对象程序设计的基本思路和方法。(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。2、基本要求(1)要求利用面向对象的方法以及c+的编程思想来完成系统的设计。 (2)在系统的设计中,要求运用面向对象的机制(继承、派生及多态性)来实现系统功能,并且要建立清晰的类层次关系。 (3
2、)在系统设计中要分析和定义各个类,每个类中要有各自的数据成员和成员函数。 (4)主函数中提供菜单选项,并给出足够的选择信息以及提示信息。(5) 程序具有一定的健壮性,不会因为用户的输入错误引起程序运行错误而中断执行。3、创新要求在基本要求达到后,可根据实际情况进行创新设计,如根据查找结果进行修改的功能及设计出比较友好的界面等。二验收方式未定。三课设报告在完成验收之后,提交课设报告。其中报告中需包括系统设计要求,设计思路,系统功能模块图,系统流程图,类的层次图(包括类成员列表),调试过程,关键程序代码,总结,参考书目等。另外,课设报告要严格遵守模板文件的格式要求,思路清晰,内容详实丰富。四成绩评
3、定占期末成绩的20%五说明1、每位同学在以下的题目中任选一个来完成。2、学生应严格遵守课堂秩序,按时上机,认真完成各项任务。3、上机前做好充分的准备,包括事先写好主要程序代码,以保证充分利用上机的时间调试程序。4、每位同学各自独立完成自己的题目,禁止抄袭或拷贝。5、必须按规定时间上交课设报告。六课设题目题目1 “高校人员信息管理系统”1、问题描述某高校,主要人员有:领导、教师和学生,共有的信息包括:编号、姓名、性别、年龄。其中领导还应包含的信息有:任职部门(学院、各系部)、职称;教师还应包含的信息有:职称、任职时间、专业;学生还应包含的信息有:所在班级、所在宿舍等。某高校有四类员工:教师、实验
4、员、行政人员,教师兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等。2、功能要求(1)基本功能1) 添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。2) 查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。3) 显示功能:可显示当前系统中所有记录,每条记录占据一行。4) 编辑
5、功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。6) 统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,或者统计男、女员工的数量,或者统计某年龄段人员的数量等。7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。8)读取功能:可将保存在文件中的人员信息读入到当前系统中,供用户进行使用。摘 要在当前的学校人员管理体制
6、下,高等学校不但要有浓厚的学风气息、雄厚的师资力量、先进精良硬件设备,与此同时,作为先进科学技术和优秀文化的承载者和传播者,更需要有一个执行效率高并且便于操作的现代信息化管理系统,以实现对高校各类人员进行添加、查找、修改、删除、统计、保存、读取等动态管理的目的。本文利用microsoft visual c+6.0的ado编写程序,实现了高校对实验员、教师、行政人员、教师兼行政人员的管理操作。本系统主要有四个管理模块实验员管理系统、教师管理系统、行政人员管理系统、教师兼行政人员管理系统。已经过全面的系统测试,能够很好的运行,达到了预期的效果。关键词:系统设计 类 信息目 录摘要第1章 绪 论11
7、.1 课程设计的目的11.2 课程设计的背景和意义11.1.1 课程设计的背景11.1.2 课程设计的意义11.3 课程设计环境1第2章 需求分析22.1 问题描述22.2 功能需求22.3 问题的解决方案3第3章 系统设计43.1 数据设计43.1.1 类设计43.1.2 类之间关系53.2结构设计63.2.1 系统流程图63.2.2 界面设计6第4章 系统实现94.1 类实现94.2 函数实现114.3 主函数 实现21第1章 绪论1.1 课程设计的目的(1)要求学生能够熟练掌握c+语言的基本知识和技能。(2)基本掌握面向对象程序设计的基本思路和方法。(3)能够利用所学的基本知识和技能,解
8、决简单的面向对象程序设计问题。1.2 课程设计的背景和意义1.2.1课程设计的背景 1. 理论研究基础(1)综合c+编程知识,结合实际加以应用。(2)参考课本对课本熟悉,应用类、数组等内容。2. 技术层面的支持安装microsoft visual c+ 6.0集成开发环境。1.2.2 课程设计的意义综合复习c+面向对象程序设计的所有知识点,进一步熟练面向对象程序的开发方法和流程,提高学生独立分析问题和解决问题的能力,培养学生的中、小型实践项目开发能力。让我们提前感受到编写软件的过程和解决问题的方法。1.3 课程设计环境软件环境:microsoft visual c+ 6.0集成开发环境。硬件环
9、境:图书馆七楼机房,笔记本电脑。第2章 需求分析2.1 问题描述某高校有四类员工:教师、实验员、行政人员,教师兼行政人员;共有的信息包括:编号、姓名、性别、年龄等。其中,教师还包含的信息有:所在系部、专业、职称;实验员还包含的信息由:所在实验室、职务;行政人员还包含的信息有:政治面貌、职称等2.2 功能要求基本功能1) 添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。2) 查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显
10、示相应的记录信息。3) 显示功能:可显示当前系统中所有记录,每条记录占据一行。4) 编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。6) 统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,或者统计男、女员工的数量,或者统计某年龄段人员的数量等。7)保存功能:可将当前系统中各类人员记录存入文件中,存入方式任意。8)读取功能:可
11、将保存在文件中的人员信息读入到当前系统中,供用户进行使用。2.3 问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤: 1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;2)分析系统中的各个实体及它们之间的关系; 3)根据问题描述,设计系统的类层次; 4)完成类层次中各个类的描述; 5)完成类中各个成员函数的定义; 6)完成系统的应用模块; 7)功能调试; 8)完成系统总结报告。第3章 系统设计3.1 数据设计3.1.1 类设计此系统共设计了九个类:基类(class ccommon),实验员类(class cassistant),教师类(class cteacher),行
12、政人员类(class cexecution),教师兼行政人员类(class ctea_exe )基类中有int number;/编号string name;/姓名string sex;/性别int age;/年龄实验员类中添加了string laboratory;/所在实验室string position;/职称public:void set(int _number,string _name,string _sex,int _age,string _laboratory,string _position)number = _number;name = _name;sex = _sex;age
13、= _age;laboratory = _laboratory;position = _position;/输入实验员数据void output();cassistant()/析构函数friend int find_nu(cassistant assistant, int _nu, int &t);friend int find_na(cassistant assistant, string _na, int &t);friend void add(cassistant assistant, int _fa);friend void dele(cassistant assistant, int
14、 _fa);friend void closefile(cassistant assistant ,int &t);friend void _statistics(cassistant assistant, int &t);教师类中添加了string department;/所在系部string profession;/专业string position;/职称public:void set(int _number,string _name,string _sex,int _age,string _department,string _profession,string _position)n
15、umber = _number;name = _name;sex = _sex;age = _age;department = _department;profession = _profession;position = _position;/输入教师数据void output();/输出教师数据cteacher()/析构函数friend int find_nu(cteacher teacher, int _nu, int &t);friend int find_na(cteacher teacher, string _na, int &t);friend void add(cteacher
16、 teacher, int _fa);friend void dele(cteacher teacher, int _fa);friend void closefile(cteacher teacher ,int &t);friend void _statistics(cteacher teacher, int &t);行政人员类中添加了string politics;/政治面貌string position;/职称void set(int _number,string _name,string _sex,int _age,string _politics,string _position)n
17、umber = _number;name = _name;sex = _sex;age = _age;politics = _politics;position = _position;/输入行政人员数据void output();cexecution()/析构函数friend int find_nu(cexecution execution, int _nu, int &t);friend int find_na(cexecution execution, string _na, int &t);friend void add(cexecution execution, int _fa);f
18、riend void dele(cexecution execution, int _fa);friend void closefile(cexecution execution ,int &t);friend void _statistics(cexecution execution, int &t);教师兼行政人员类添加了string politics;/政治面貌string department;/所在系部string profession;/专业string position;/职称void set(int _number,string _name,string _sex,int _a
19、ge,string _politics,string _department,string _profession,string _position)number = _number; name = _name;sex = _sex;age = _age;politics = _politics;department = _department;profession = _profession;position = _position;/输行政人员兼教师数据void output();ctea_exe()/析构函数friend int find_nu(ctea_exe tea_exe, int
20、 _nu, int &t);friend int find_na(ctea_exe tea_exe, string _na, int &t);friend void add(ctea_exe tea_exe, int _fa);friend void dele(ctea_exe tea_exe, int _fa);friend void closefile(ctea_exe tea_exe ,int &t);friend void _statistics(ctea_exe tea_exe, int &t);3.1.2 类之间的关系基 基类(class ccommon):实验员类(class c
21、assistant),教师类(class cteacher),行政人员类(class cexecution),教师兼行政人员类(class ctea_exe )3.1.3 函数设计在四个管理类中定义了以下相同函数,功能如其后所说_add(); 实现该类记录的添加; _query();实现该类记录的查询_display(); 实现该类所有记录的显示;_edit();实现该类记录的修改;_delete();实现该类记录的删除; _statistics();实现该类记录的统计; xx_put(); 退出 opefile()读出closefile()写入3.2 结构设计3.2.1 系统流程图人员类教师
22、类实验员类行政人员类教师兼行政人员类 图313.2.2 界面设计第4章 系统实现4.1 类实现对于基类的定义class ccommon/公有类protected:int number;/编号string name;/姓名string sex;/性别int age;/年龄;class cteacher:public ccommon/教师类protected:string department;/所在系部string profession;/专业string position;/职称public:void set(int _number,string _name,string _sex,int _
23、age,string _department,string _profession,string _position)number = _number;name = _name;sex = _sex;age = _age;department = _department;profession = _profession;position = _position;/输入教师数据void output();cteacher()/析构函数friend int find_nu(cteacher teacher, int _nu, int &t);friend int find_na(cteacher
24、teacher, string _na, int &t);friend void add(cteacher teacher, int _fa);friend void dele(cteacher teacher, int _fa);friend void closefile(cteacher teacher ,int &t);friend void _statistics(cteacher teacher, int &t);class cassistant:public ccommon/实验员类protected:string laboratory;/所在实验室string position;
25、/职称public:void set(int _number,string _name,string _sex,int _age,string _laboratory,string _position)number = _number;name = _name;sex = _sex;age = _age;laboratory = _laboratory;position = _position;/输入实验员数据void output();cassistant()/析构函数friend int find_nu(cassistant assistant, int _nu, int &t);frie
26、nd int find_na(cassistant assistant, string _na, int &t);friend void add(cassistant assistant, int _fa);friend void dele(cassistant assistant, int _fa);friend void closefile(cassistant assistant ,int &t);friend void _statistics(cassistant assistant, int &t);class cexecution:public ccommon/行政人员类prote
27、cted:string politics;/政治面貌string position;/职称public:void set(int _number,string _name,string _sex,int _age,string _politics,string _position)number = _number;name = _name;sex = _sex;age = _age;politics = _politics;position = _position;/输入行政人员数据void output();cexecution()/析构函数friend int find_nu(cexecu
28、tion execution, int _nu, int &t);friend int find_na(cexecution execution, string _na, int &t);friend void add(cexecution execution, int _fa);friend void dele(cexecution execution, int _fa);friend void closefile(cexecution execution ,int &t);friend void _statistics(cexecution execution, int &t);class
29、 ctea_exe:public ccommon/行政人员兼教师类protected:string politics;/政治面貌string department;/所在系部string profession;/专业string position;/职称public:void set(int _number,string _name,string _sex,int _age,string _politics,string _department,string _profession,string _position)number = _number;name = _name;sex = _se
30、x;age = _age;politics = _politics;department = _department;profession = _profession;position = _position;/输入行政人员兼教师数据void output();ctea_exe()/析构函数friend int find_nu(ctea_exe tea_exe, int _nu, int &t);friend int find_na(ctea_exe tea_exe, string _na, int &t);friend void add(ctea_exe tea_exe, int _fa);
31、friend void dele(ctea_exe tea_exe, int _fa);friend void closefile(ctea_exe tea_exe ,int &t);friend void _statistics(ctea_exe tea_exe, int &t);4.2 函数实现对于在四个管理类中定义了相同的函数,以教师类为例添加功能:void _add(cteacher *teacher, int &t)/1添加信息int number,age;string name,sex,department,profession,position;cout请输入:endl;whil
32、e(1)number=t+1; coutname;if(0 = name)break; coutsex; if(sex = m|sex = w) coutage; coutdepartment; coutprofession; coutposition; teachert.set(number,name,sex,age,department,profession,position); +t; break; else cout输入性别错误,请重新输入!endl; 显示功能:可显示当前系统中所有记录,每条记录占据一行。void _display(cteacher teacher, int &t)/
33、3显示功能int i;coutendl;cout编号t姓名t性别t年龄t系部t专业t职称endl;for(i=0;it;i+)teacheri.output();cout-endlendl;查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息。void _query(cteacher teacher, int &t)/2查询信息int choice;int flag,nu;string na;cout1-编号,2-姓名flag;if(1 = flag|2 = flag)break;elsecout输入错误,请重新输入:!endl
34、; switch(flag)case 1:/编号查询 do cout请输入编号!nu;if(find_nu(teacher,nu,t) t)teacherfind_nu(teacher,nu,t).output();elsecout查无此人!endl; cout是否继续(1是,2否)choice; if(choice = 2) break; while(choice = 1);break;case 2:/姓名查询 do cout请输入姓名!na;if(find_na(teacher,na,t)t)teacher find_na(teacher,na,t) .output();elsecout查
35、无此人!endl; cout是否继续(1是,2否)choice; if(choice = 2) break; while(choice = 1);break;int find_nu(cteacher teacher, int _nu, int &t)/编号查询方式int i;for(i=0;it;i+)if(teacheri.number=_nu)return i;return t;int find_na(cteacher teacher, string _na, int &t)/姓名查询方式int i;for(i=0;it;i+)if(=_na)return i;r
36、eturn t;删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。void tea_manage:delete()if(top=0) cout当前系统中没有存储记录!endl;return;cout1、按编号查找删除 2、按姓名查找删除choice; switch(choice) case 1: coutnum; for(int i=0;itop;i+) if(num=teai.num) cout是否确认删除? 1、是
37、2、否 choice; switch(choice) case 1: for(int j=i;jtop-1;j+) teaj=teaj+1; cout删除成功!endl; top-; ;break; case 2:return; default:cout无此项,失败!endl;break; return; cout无此人!endl; ;break; case 2: coutname; for(int i=0;itop;i+) if(name=t) cout是否确认删除? 1、是 2、否 choice; switch(choice) case 1: for(int j=i;jto
38、p-1;j+) teaj=teaj+1; cout删除成功!endl; top-; ;break; case 2:return; default:cout无此项,失败!endl;break; return; cout无此人!endl; break;default:cout没有此项,失败:endl;break;统计功能:对男女人数进行统计。 void _statistics(cteacher teacher, int &t)/统计数据int i,boy=0,girl=0,sum=0;for(i=0;it;i+)if(teacheri.sex = w)girl+;if(teacheri.sex=m
39、)boy+;sum = girl+boy;cout教师总共有sumendl;cout男有boy人 女有girl人endl;void statistics_teacher()/教师统计函数int t;cteacher teachermax;t = openfile(teacher);_statistics(teacher,t);4.3 主函数实现#includeusing namespace std;#includehead.hvoid statistics_all()/数据统计行数statistics_teacher();statistics_assistant();statistics_ex
40、ecution();statistics_tea_exe();void muen()cout*欢迎进入高校信息管理系统*endl;cout 1-教师信息,2-实验员信息endl;cout 3-行政人员,4-教师兼行政人员endl;cout 5-统计人数,6-退出系统endl;cout*endl;cout:;int main() int i; while(1) muen();cini;switch(i)case 1: teacher_manage(); break;/教师case 2: assistant_manage(); break;/实验员case 3: execution_manage(
41、); break;/行政case 4: tea_exe_manage(); break;/教师兼行政case 5: statistics_all(); break;/统计default :cout欢迎再次使用!endl; exit(0); return 0;全部 代码head.h:#ifndef _head_h#define _head_h#includeusing namespace std;/*-共有类-*/class ccommon/公有类protected:int number;/编号string name;/姓名string sex;/性别int age;/年龄;/*-*/*-教师类
42、-*/class cteacher:public ccommon/教师类protected:string department;/所在系部string profession;/专业string position;/职称public:void set(int _number,string _name,string _sex,int _age,string _department,string _profession,string _position)number = _number;name = _name;sex = _sex;age = _age;department = _departme
43、nt;profession = _profession;position = _position;/输入教师数据void output();cteacher()/析构函数friend int find_nu(cteacher teacher, int _nu, int &t);friend int find_na(cteacher teacher, string _na, int &t);friend void add(cteacher teacher, int _fa);friend void dele(cteacher teacher, int _fa);friend void close
44、file(cteacher teacher ,int &t);friend void _statistics(cteacher teacher, int &t);void teacher_manage();/*-*/*-实验员类-*/class cassistant:public ccommon/实验员类protected:string laboratory;/所在实验室string position;/职称public:void set(int _number,string _name,string _sex,int _age,string _laboratory,string _position)number = _number;name = _name;sex = _sex;age = _age;laboratory = _laboratory;position = _position;/输入实验员数据void output();cassistant()/析构函数friend int find_nu(cassistant assistant, int _nu, int &
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025如何高效管理电子合同
- 2025广东石油交易所入市交易合同协议书
- 动画制作合同范本
- 大楼租赁合同书
- 2025全球技术服务合同
- 2025临时办公空间租赁合同范本
- 房屋空白定购协议书
- 桉树买卖协议书版本
- 2025年03月浙江台州市椒江区事业单位公开招聘工作人员49人笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 2025年03月河北邯郸市市直事业单位(统一公开招聘)工作人员318名笔试历年典型考题(历年真题考点)解题思路附带答案详解
- 篮球智慧树知到期末考试答案章节答案2024年浙江大学
- 《归去来兮辞(并序)》课件
- 临床生物化学检验练习题库(含答案)
- X射线衍射仪(XRD)行业市场现状供需分析及市场深度研究发展前景及规划投资研究报告
- 2024年强基计划解读 课件-2024届高三下学期主题班会
- 认识常用电子元件图解
- DB21-T 3413-2021地下工程自防护混凝土结构耐久性技术规程
- 学校食品安全管理
- 团队沟通与协作培训
- 美的社会责任报告2023
- 2021年4月自考00908网络营销与策划试题及答案含评分参考
评论
0/150
提交评论