C课设高校人员信息管理系统附全部代码.doc

上传人:仙人指路1688 文档编号:2384345 上传时间:2023-02-17 格式:DOC 页数:84 大小:214KB
返回 下载 相关 举报
C课设高校人员信息管理系统附全部代码.doc_第1页
第1页 / 共84页
C课设高校人员信息管理系统附全部代码.doc_第2页
第2页 / 共84页
C课设高校人员信息管理系统附全部代码.doc_第3页
第3页 / 共84页
C课设高校人员信息管理系统附全部代码.doc_第4页
第4页 / 共84页
C课设高校人员信息管理系统附全部代码.doc_第5页
第5页 / 共84页
点击查看更多>>
资源描述

《C课设高校人员信息管理系统附全部代码.doc》由会员分享,可在线阅读,更多相关《C课设高校人员信息管理系统附全部代码.doc(84页珍藏版)》请在三一办公上搜索。

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(teacheri.name=_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=Teai.name) 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)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

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号