高校人事管理系统c.docx

上传人:牧羊曲112 文档编号:1929699 上传时间:2022-12-26 格式:DOCX 页数:48 大小:147.59KB
返回 下载 相关 举报
高校人事管理系统c.docx_第1页
第1页 / 共48页
高校人事管理系统c.docx_第2页
第2页 / 共48页
高校人事管理系统c.docx_第3页
第3页 / 共48页
高校人事管理系统c.docx_第4页
第4页 / 共48页
高校人事管理系统c.docx_第5页
第5页 / 共48页
点击查看更多>>
资源描述

《高校人事管理系统c.docx》由会员分享,可在线阅读,更多相关《高校人事管理系统c.docx(48页珍藏版)》请在三一办公上搜索。

1、面向对象设计方法C+ 课 程 设 计设计题目 高校人事管理系统组员姓名 专业班级 11计算机科与技术2班指导教师信息工程学 院 计算机科学与技术 系 2013年 5 月 日面向对象设计方法C+课程设计任务分配院(系):信息工程学院 教研室:软件教研室课程设计题目高校人事管理系统课 程 设 计目的(1)要求学生达到熟练掌握C+语言的基本知识和技能; (2)基本掌握面向对象程序设计的基本思路和方法; (3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。 (4)训练用系统的观点和软件开发一般规范进行软件开发,并在此过程中培养严谨的科学态度和良好的工作作风。初步掌握软件开发过程的问题分

2、析、系统设计、程序编码、测试等基本方法和技能。(5)熟练掌握C+中类及类模板在程序中的应用,并熟练了解类中函数的调用。小组成员及任务分配姓名学号承担任务是否组长 目录第一章 需求分析1 第二章 总体设计22.1系统功能模块22.2类之间的关系 2第三章 各功能模块实现33.1模块实现及代码33.2运行结果15 第四章 系统调试 18第五章 总结与体会18参考文献20附录21第一章 需求分析高校人事管理,高校在有职人员(行政人员、教师、一般员工)、退休人员、返聘人员和临时工。现在,需要存储这些人员的人事档案信息:编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间。要求:

3、1) 添加删除功能:能根据学院人事的变动情况,添加删除记录;2) 查询功能:能根据编号和姓名进行查询;3) 编辑功能(高级):根据查询对相应的记录进行修改,并存储;4) 统计功能:能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数);5) 保存功能:能对输入的数据进行相应的存储,要求重载插入和提取符以完成数据的保存和打开。6) 人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。第二章 总体设计2.1系统功能模块输出选择退出操作编辑功能统计功能删除功能查询功能添加功能按编号查找按姓名查找2.2类之间的关系 定义了8个类,分别为人员类(personnel类

4、),临时工类(casuallaborer类),进入时间类(cometime类),在职人员类(incumbency类),退休时间类(retiretime类),退休人员类(retiree类),返聘时间类(retime类),返聘人员类(returnee类)等。同时又定义一个school类,在里面实现数据的添加、删除、修改、查找、显示和退出。Public:setcasuallaborer();casuallaborerprint();Protected:int number;char party20;char study30;char pos20;Public: setincumbency();inc

5、umbencyprint();incumbency();Protected:int day;int year;int month:Public:setretiretime( );retiretimeprint( );Protected:int month;int year;int day;Public:setretime( );retimeprint( );Public:setreturnee();returneeprint();9=jhnPublic:retireeprint();setretiree();Protected:int month;int year;int day;Public

6、:cometime( );setcometime( );Protected:char name20;char sex10;int age;Public:setpersonnel( );personnelprint();人员类进入时间类临时工类退休时间类返聘时间类在职员工类 退休人员类返聘人员类第三章 各功能模块实现3.1 模块实现及代码删除功能:#include1.hschool:dele()extern int I,J,K,Z;int i;int number;int a;system(cls);A:coutwelcomeendl; coutt 【1】按编号删除 endl;coutt 【0】

7、返回 n ; couta; switch(a) case 1:coutnumber; for(i=0;iJ;i+) if(incumbi.getnumber2()-number=0) coutincumbi.incumbencyprint()被删除endl; for(i;iJ;i+) incumbi=incumbi+1; J-; for(i=0;iK;i+)if(retii.getnumber3()-number=0)coutretii.retireeprint()被删除endl;for(i;iK;i+)retii=retii+1;K-;for(i=0;iZ;i+)if(returi.getn

8、umber4()-number=0)coutreturi.returneeprint()被删除:endl;for(i;iZ;i+)returi=returi+1;Z-;goto A; case 0:break; 添加功能:#include1.hschool:add() int a; extern int I,J,K,Z;A:coutwelcomeendl; coutt 【1】添加临时工信息 endl; coutt 【2】添加在职员工信息 endl; coutt 【3】添加退休人员信息 endl;coutt 【4】添加人员的信息 endl;coutt 【0】返回 n ; couta;switch

9、(a)case 1: casuallI. setcasuallaborer(); I+; goto B;case 2:incumbJ.setincumbency();J+; goto B;case 3:retiK.setretiree();K+; goto B;case 4:returZ.setreturnee();Z+; goto B;case 0:break;default:cout选择有误,请重新选择!;goto A;统计功能:#include1.hschool:tongji()extern int I,J,K,Z;int a;int i=0;system(cls);A:int j=0;

10、 coutwelcomeendl; coutt 【1】在职人员数统计 endl; coutt 【2】党员人数统计 endl; coutt 【3】女工人数统计 endl; coutt 【4】博士生人数统计 endl; coutt 【0】返回 endl; couta; switch(a) case 1:for(i=0;iJ;i+) incumbi.incumbencyprint(); for(i=0;iZ;i+) returi.returneeprint(); j=J+Z; cout在职人数为:jendl;goto A; case 2:for(i=0;iJ;i+) if(strcmp(incumb

11、i.getparty2(),党员)=0) incumbi.incumbencyprint(); j+; for(i=0;iK;i+) if(strcmp(retii.getparty2(),党员)=0) retii.retireeprint(); j+; for(i=0;iZ;i+) if(strcmp(returi.getparty2(),党员)=0) returi.retimeprint(); j+; cout党员人数为:jendl;goto A; case 3:for(i=0;iI;i+) if(strcmp(casualli.getsex(),女)=0) casualli.casual

12、laborerprint(); j+; for(i=0;iJ;i+) if(strcmp(incumbi.getsex(),女)=0) incumbi.incumbencyprint(); j+; for(i=0;iK;i+) if(strcmp(retii.getsex(),女)=0) retii.retireeprint(); j+; for(i=0;iZ;i+) if(strcmp(returi.getsex(),女)=0) returi.retimeprint(); j+; cout女员人数为:jendl;goto A; case 4: for(i=0;iJ;i+) if(strcmp

13、(incumbi.getstudy2(),博士生)=0) incumbi.incumbencyprint(); j+; for(i=0;iK;i+) if(strcmp(retii.getstudy3(),博士生)=0) retii.retireeprint(); j+; for(i=0;iZ;i+) if(strcmp(returi.getstudy4(),博士生)=0) returi.retimeprint(); j+; cout博士生人数为:jendl;goto A; default:cout选择有误,请重新选择:;goto A; case 0:break; 编辑功能:#include1

14、.hschool:push() extern int I,J,K,Z;int e;B:system(cls);coutwelcomeendl; coutt 【1】录入临时工信息 endl; coutt 【2】录入在职员工信息 endl; coutt 【3】录入退休人员信息 endl;coutt 【4】录入返聘人员的信息 endl;coutt 【0】返回 n ; coute; switch(e) case 1: casuallI. setcasuallaborer(); I+; goto B;case 2:incumbJ.setincumbency();J+; goto B;case 3:ret

15、iK.setretiree();K+; goto B;case 4:returZ.setreturnee();Z+; goto B;case 0:break;default:cout选择有误,请重新选择!;goto A; 查询功能:#include1.hvoid chose() coutwelcomeendl; coutt 【1】姓名查找 endl; coutt 【2】编号查找 endl;coutt 【0】返回 n ; cout从0-2中选择功能项:;school:find() int a;int i;extern int I,J,K,Z;char name20;int number;E:in

16、t j=0;system(cls);coutwelcomeendl; coutt 【1】模糊查找 endl; coutt 【2】在职员工中查找 endl; coutt 【3】退休人员中查找 endl;coutt 【4】返聘人员中查找 endl;coutt 【0】返回 n ; couta; switch(a) case 1:chose();A:cina; switch(a) case 1:coutname; for(i=0;iI;i+) if(strcmp(casualli.getname(),name)=0) j+; incumbi.incumbencyprint(); for(i=0;iJ;

17、i+) if(strcmp(incumbi.getname2(),name)=0) j+; incumbi.incumbencyprint(); for(i=0;iK;i+)if(strcmp(retii.getname3(),name)=0)j+;retii.retireeprint();for(i=0;iZ;i+)if(strcmp(returi.getname4(),name)=0)j+;returi.returneeprint();if(j=0)cout没有找到该人:endl;goto A; case 2:coutnumber; for(i=0;iJ;i+) if(incumbi.ge

18、tnumber2()-number=0) j+; incumbi.incumbencyprint(); for(i=0;iK;i+)if(retii.getnumber3()-number=0)j+;retii.retireeprint();for(i=0;iZ;i+)if(returi.getnumber4()-number=0)j+;returi.returneeprint();if(j=0)couta; switch(a) case 1:coutname; for(i=0;iJ;i+) if(strcmp(incumbi.getname2(),name)=0) j+; incumbi.i

19、ncumbencyprint(); if(j=0) cout没有找到该人:endl; goto B; case 2:coutnumber; for(i=0;iJ;i+) if(incumbi.getnumber2()-number=0) j+; incumbi.incumbencyprint(); if(j=0) cout没有此编号的人; goto B; default:couta; switch(a) case 1:coutname; for(i=0;iK;i+)if(strcmp(retii.getname3(),name)=0)j+;retii.retireeprint();if(j=0

20、)cout没有找到该人:endl;goto C; case 2:coutnumber; for(i=0;iK;i+)if(retii.getnumber3()-number=0)j+;retii.retireeprint(); if(j=0)cout没有此编号的人;goto C; default:couta; switch(a) case 1:coutname; for(i=0;iZ;i+)if(strcmp(returi.getname4(),name)=0)j+;returi.returneeprint();if(j=0)cout没有找到该人:endl;goto D; case 2:cou

21、tnumber; for(i=0;iZ;i+)if(returi.getnumber4()-number=0)j+;returi.returneeprint();if(j=0)cout没有此编号的人;goto D; default:cout输入有误,请重新输入:;goto D; case 0:goto E; case 0:break; default:cout输入有误,请重新输入:;goto E; 3.2 运行结果开始菜单界面: 添加人员信息界面:统计人员信息界面:人员信息查找界面:人员信息删除界面:人员修改界面:第四章 系统调试系统调试:1. 在建立全局变量时,无法正常使用,后添加exter

22、n才实现功能的使用。通过对程序的调试,发现很多问题只有通过调试以后才能被找到和发现,才能更好的美化和优化,是程序看起来更完美,让使用者更放心第五章 总结与体会通过本次课程设计,让我对C+这门学科对有了进一步的认识,熟练掌握了类及类模板的应用。以前对该课程的恐惧感都以消失,任何事情没有做不到只有愿不愿意去做。刚开始接到该题,心中确实充满困惑。不过在图书馆和网上找了一些资料看了后,便觉得思路就在眼前了,之前不过就是由于对该课程的恐惧而产生了一定的心里影响而已。之后凭借那闪现在眼前的点点思路,慢慢在琢磨,终于想出了大体的程序内容。然后一个一个函数的思考,一步一步的编写,调试,做起来也就越来越顺手了。

23、通过我的反复思考,程序中的错误得到顺利解决。函数功能也得到了进一步的完善。并且在本次课程设计的过程中,让我进一步认识到了团队的力量,只有团结才能发挥出一个集体的力量。一个人的力量真的好有限,即使个人能力再强,做一个大点的项目,也会力不从心。只有分工协作才能将事办得越快越好。通过这次课程设计,会为我们以后进入社会提供一定的经验。我们相信在今后的学习真的我们会更加努力,积累经验。使自己在编程等各方面得到提高。课程设计是培养学生综合运用所学知识,发现,提出,分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异,当今计算机应用在生活中可以说得

24、是无处不在。因此作为二十一世纪的大学来说掌握计算机开发技术是十分重要的。回顾起此次课程设计,至今我仍感慨颇多,的确,自从拿到题目到完成整个编程,从理论到实践,在整整一个星期的日子里,可以学到很多很多的的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,这毕竟独立做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前

25、所学过的知识理解得不够深刻,掌握得不够牢固。同时,对给过我帮助的所有同学和各位指导老师再次表示忠心的感谢!。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。编写的过程也是我们发现错误的过程,毕竟我们自己专业知识掌握的不够,在设计中走了很多弯路,刚开始是根本无从下手,不知道要干嘛,如果平时课余时间多加强对这些专业知识的学习,那么在这次课程设计中将会少走很多的弯路。虽然程序完成了,但我感觉里面可能还有很多不完善的地方,通过这次动手设计吧我还是希望自

26、己以后办事的时候要认真,仔细,考虑周全。这段时间里,我又学到了更多C+ 程序类知识,同时我也被提醒以后办事的时候要认真,仔细,考虑周全。参考文献1郑莉、傅仕星编,C+面向对象程序设计,清华大学出版社,2003年9月出版2谭浩强编,C+面向对象程序设计,清华大学出版社,2005年7月出版3李师贤等译,C+精髓,机械工业出版社,2002年8月出版4Davis Chapman,学用Visual c+ 6.0,清华大学出版社,2001年7月出版5郑莉、傅仕星编,C+语言面向对象程序设计习题与实验指导,清华大学出版社,2003年9月出版。附录源程序:/1.h#include#includeusing n

27、amespace std;class personnel /人员类public:setpersonnel();personnelprint();/人员打印char *getname1()/获取名字return name;char *getsex()/获取性别return sex;protected:char name20;char sex10;int age;/class cometime/进入时间类public:cometime()year=0;setcometime();cometimeprint();/进入时间打印protected:int year;int month;int day;

28、/class retime/返聘时间类public:setretime();retimeprint();/返聘时间打印protected:int year;int month;int day;/class retiretime/退休时间类public:setretiretime();retiretimeprint();/退休时间打印protected:int year;int month;int day;/class casuallaborer:public personnel,public cometime/临时工类 public:setcasuallaborer();/临时工初始化 cas

29、uallaborerprint();/临时工信息打印 char *getname()/获取姓名 return name; char *getsex()/获取性别 return sex; ;/class incumbency:public personnel,public cometime /在职人员类public:setincumbency();/在职人员初始化incumbencyprint();/在职人员信息打印incumbency()number=0;setnumber(int number1)number=number1;char *getname2()/获取姓名return name;

30、int getnumber2()/获取编号return number;char *getparty2()/获取政治面貌return party;char *getstudy2()/获取最高学历return study;char *getpos2()/获取职务return pos;char *getsex()/获取性别return sex;protected: int number;/编号char party20;/政治面貌char study30; /最高学历char pos20;/职务;/class retiree:public incumbency,public retiretime/退休人员类public:retireeprint();/退休人员信息打印setretiree();/退休人员初始化int getnumber3()/获取编号return number;char *getname3()/获取姓名return name;char *getparty3()/获取政治面貌return party;char *getstudy3()/获取最高学历return study;char *getpos3()/获取职务return pos;char *getsex()return sex;/class ret

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

当前位置:首页 > 生活休闲 > 在线阅读


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号