高校人事管理系统.docx
- 文档编号:12703174
- 上传时间:2023-04-21
- 格式:DOCX
- 页数:39
- 大小:350.98KB
高校人事管理系统.docx
《高校人事管理系统.docx》由会员分享,可在线阅读,更多相关《高校人事管理系统.docx(39页珍藏版)》请在冰豆网上搜索。
高校人事管理系统
课程设计报告
课程名称面向对象程序设计
课题名称高校人事管理系统
专业通信工程
班级通信1101
学号2011030201
姓名
指导教师
2012年12月22日
湖南工程学院
课程设计任务书
课程名称面向对象程序设计
课题高校人事管理系统
专业班级通信工程
学生姓名
学号
指导老师
审批
任务书下达日期2012年12月22日
任务完成日期2013年1月6日
一、设计内容与设计要求
1.课程设计目的:
面向对象程序设计课程设计是集中实践性环节之一,是学习完《面向对象程序设计》课程后进行的一次全面的综合练习。
要求学生达到熟练掌握C++语言的基本知识和技能;基本掌握面向对象程序设计的思想和方法;能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题,从而提高动手编程解决实际问题的能力。
2.课题题目
⑴公司库存管理系统
⑵高校学籍管理系统
⑶高校工资管理系统
⑷高校人事管理系统
⑸文件加密管理系统
3.设计要求:
⑴设计课题题目:
第5个课题是扩展课题,有能力完成的同学可以选择。
其余每位同学根据自己学号除以4所得的余数加一选择相应题号的课题。
换题者不记成绩。
⑵根据自己对应的课题完成以下主要工作:
①完成系统需求分析:
包括系统设计目的与意义;系统功能需求(系统流程图);输入输出的要求。
②完成系统总体设计:
包括系统功能分析;系统功能模块划分与设计(系统功能模块图)。
③完成系统详细设计:
包括数据库需求分析;类层次图;界面设计与各功能模块实现。
④系统调试:
调试出现的主要问题,编译语法错误及修改,重点是运行逻辑问题修改和调整。
⑤使用说明书及编程体会:
说明如何使用你编写的程序,详细列出每一步的操作步骤。
⑥关键源程序(带注释)
⑶按规定格式完成课程设计报告,将其打印稿(A4纸)上交给老师存档。
⑷不得抄袭他人程序、课程设计报告,每个人应体现自己的个性设计
二、进度安排
第17周星期四14时:
00分——18时:
00分
星期五19时:
分——21时:
00分
第18周星期三19时:
00分——21时:
00分
星期四19时:
00分——21时:
00分
3.实验内容
课题4:
高校人事管理系统
(一)、课程设计题目:
高校人事管理系统
(二)、目的与要求:
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能;
(2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;
(2)要求在设计的过程中,建立清晰的类层次;
(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;
(4)在系统的设计中,至少要用到面向对象的一种机制。
3、创新要求:
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。
4、写出设计说明书
(三)、设计方法和基本原理:
1、问题描述(功能要求):
某高校,主要人员有:
在职人员(行政人员、教师、一般员工)、退休人员。
现在,需要存储这些人员的人事档案信息:
编号、姓名、性别、年龄、职务、级别、职称、政治面貌、最高学历、任职时间、来院时间、工资。
其中行政人员只有职务和级别,教师只有职务和职称,一般员工只有职务,退休人员则没有职务、级别、职称,但有退休时间。
要求:
(1)添加删除功能:
能根据学院人事的变动情况,添加删除记录;
(2)查询功能:
能根据编号和姓名进行查询;
(3)编辑功能(高级):
根据查询对相应的记录进行修改,并存储;
(4)统计功能:
能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数);
(5)保存功能:
能对输入的数据进行相应的存储,(扩展要求:
要求重载插入和提取符以完成数据的保存和打开)。
(6)人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系包括属性和行为;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述(包括属性和方法);
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告以及系统使用说明书。
3.1功能提示4
3.2添加人员功能5
3.3查询功能7
3.4统计功能9
3.5编辑功能10
1.系统需求分析
课题4:
高校人事管理系统
(一)、课程设计题目:
高校人事管理系统
(二)、目的与要求:
1、目的:
(1)要求学生达到熟练掌握C++语言的基本知识和技能;
(2)基本掌握面向对象程序设计的基本思路和方法;
(3)能够利用所学的基本知识和技能,解决简单的面向对象程序设计问题。
2、基本要求:
(1)要求利用面向对象的方法以及C++的编程思想来完成系统的设计;
(2)要求在设计的过程中,建立清晰的类层次;
(3)在系统中至少要定义四个类,每个类中要有各自的属性和方法;
(4)在系统的设计中,至少要用到面向对象的一种机制。
3、创新要求:
在基本要求达到后,可进行创新设计,如根据查找结果进行修改的功能。
4、写出设计说明书
(三)、设计方法和基本原理:
1、问题描述(功能要求):
某高校,主要人员有:
在职人员(行政人员、教师、一般员工)、退休人员、返聘人员和临时工。
现在,需要存储这些人员的人事档案信息:
编号、姓名、性别、年龄、职务、职称、政治面貌、最高学历、任职时间、来院时间。
要求:
(1)添加删除功能:
能根据学院人事的变动情况,添加删除记录;
(2)查询功能:
能根据编号和姓名进行查询;
(3)编辑功能(高级):
根据查询对相应的记录进行修改,并存储;
(4)统计功能:
能根据多种参数进行人员的统计(在职人数、党员人数、女工人数、高学历高职称人数);
(5)保存功能:
能对输入的数据进行相应的存储,要求重载插入和提取符以完成数据的保存和打开。
(6)人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。
2、问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;
(2)分析系统中的各个实体及它们之间的关系包括属性和行为;
(3)根据问题描述,设计系统的类层次;
(4)完成类层次中各个类的描述(包括属性和方法);
(5)完成类中各个成员函数的定义;
(6)完成系统的应用模块;
(7)功能调试;
(8)完成系统总结报告以及系统使用说明书。
2.总体设计
1.系统功能分析
(1)资料维护:
系统维护包括对各种表记录的修改、删除、添加等操作。
(2)资料维护:
对数据表中的信息进行浏览。
(3)系统查询:
可以按职工编号、姓名等相关信息进行详细或模糊查询。
(4)报表统计:
包括统计职工编号、职工姓名、职工性别、所在部门、职工年龄、工作日期、基本工资、职称、职务和简历等字段。
(5)其它操作:
系统封面、人性化提示信息。
2.系统功能模块划分与设计
系统功能模块划分:
数据查找与浏览、数据修改、报表显示和系统封面构成。
系统的各个功能大体框架如下:
图2.1系统运行结构框图
3.详细设计
功能选择界面
删除人员信息
添加人员信息
查询人员信息
显示所有信息
统计人员数量
编辑人员信息
退出
图3.1系统功能结构框图
3.1
当我们运行程序时,会出现如下的功能选择提示界面,代码已经附上。
图3.2主页面图
部分代码如下:
{
personpjk;
intc;
cout< cout<<"---------------------高校人事管理系统-----------------------------"< cout<<"**"< cout<<"*1--添加人员信息并保存*"< cout<<"*2--删除人员信息*"< cout<<"*3--修改人员信息*"< cout<<"*4--查询人员信息*"< cout<<"*5--统计人员信息*"< cout<<"*6--显示所有信息*"< cout<<"*7--退出*"< cout<<"------------------------------------------------------------------"< cout<<"请选择(1-7): "< cin>>c; switch(c) { case1: pjk.tjry();menu();break; case2: pjk.shancu();menu();break; case6: pjk.output();menu();break; case7: exit (1);break; } } voidmain() { menu(); } 3.2 按提示输入序号,当输入1时,会出现要操纵者输入相关信息。 图3.3添加人员图 该图的执行代码如下,新增人员模块,实现新人员的信息添加功能: voidperson: : tjry()// { intv,l=1; chartype2[20];charname2[20];charsex2[10];charage2[10];charzhiwu2[20]; charzhichen2[20];charzzmm2[20];charzgxl2[20];charrzsj2[20];charlysj2[30]; cout<<"请输入要添加的人数"< cin>>k; p[1].getbianhao()=pp[k1].getbianhao(); v=bianhao; for(inti=v+1;i<=v+k;i++) { cout<<"请输入第"< cout<<"人员类型";cin>>type2; cout<<"姓名: ";cin>>name2; cout<<"性别: ";cin>>sex2; cout<<"年龄: ";cin>>age2; cout<<"职务: ";cin>>zhiwu2; cout<<"职称: ";cin>>zhichen2; cout<<"政治面貌: ";cin>>zzmm2; cout<<"最高学历: ";cin>>zgxl2; cout<<"任职时间: ";cin>>rzsj2; cout<<"来院时间: ";cin>>lysj2; p[i].setperson(type2,name2,sex2,age2,zhiwu2,zhichen2,zzmm2,zgxl2,rzsj2,lysj2); l++; } } 3.3 图3.4查询功能图 执行代码如下: 人员查询模块,本模块提供的查询方式包括按编号和姓名2种,方便用户的查询。 voidperson: : find()// { cout<<"1: 按编号查询--2: 按姓名查询-请选择(1-2)"< intm; cin>>m; while(m<1||m>2) { cout<<"请重新输入(1-2)"< } switch(m) { case1: { . . . while(! filem.eof()) { filem>>pp[k].getnum(); filem>>pp[k].gettype(); filem>>pp[k].getname(); filem>>pp[k].getsex(); filem>>pp[k].getage(); if(strcmp(pp[k].getnum(),n)==0) { . . . . . < while(! filem.eof()) { filem>>pp[k].getnum(); . . . if(strcmp(pp[k].getname(),nname)==0) { cout< < < < < k++; if(filem.eof()) { cout< cout<<"警告: 没有要查找的人! ! ! ! ! ! ! ! ! ! ";} } filem.close(); } break; } } 3.4 图3.5统计功能图 代码如下: 人数统计模块,实现总人数的统计功能。 voidperson: : tongji()// { inta=0;intb=0;intc=0;intd=0; intk=1; ifstreamfilem("添加人员.txt",ios_base: : in); while(! filem.eof()) { filem>>pp[k].getnum(); filem>>pp[k].gettype(); . . . filem>>pp[k].getzzmm(); filem>>pp[k].getzgxl(); c++; if(strcmp(pp[k].getzgxl(),"boshi")==0) d++; k++; } filem.close();
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 高校 人事管理系统