




已阅读5页,还剩26页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
南阳理工学院本科生毕业设计(论文)学 院: 软件学院专 业:软件工程 学 生:李明慧 指导 老师: 陈 珂 完成日期:2016 年 6月人事管理系统的设计与实现摘要此次课程设计为人事管理系统,由Dev c编译器编译而成。通过本系统,在主界面老板可以通过提示的操作,对四类人员进行录入,查询,升级,修改,增加,删除等管理操作;一般人员可以进行查看四类人员信息的操作。系统主要包含了技术,业务,文秘,财务四类人员,每一类都包含人员的四项基本信息:姓名,编号,等级,薪水。本次程序设计共有六个类,一个包含四项基本信息和输入输出纯虚函数的基类,四个包含四类人员信息和操作派生类,还有一个管理各项人员的老板类,它公有继承了前边四个派生类。通过此系统用户可以简洁方便的查看公司各类人员四项基本信息,老板也可轻松进行人员各项管理,从而实现高效的管理模式,为公司企业商家等创造最大化的经济效益。关键字:管理系统 基类 继承 纯虚函数目录1 软件需求分析说明书1.1 需求分析1.2 功能简介1.2.1 人员录入功能1.2.2 人员管理功能1.2.3 统计功能 1.2. 4 打印功能1.3 界面介绍与要求1.4 数据结构要求2 系统分析与设计2.1 系统分析2.1.1 功能图2.1.2 流程图3 软件的实现3.1 主系统头文件和基类的定义3.2 购买商品代码解释3.3 添加商品代码解释3.4 删除商品代码解释3.5 修改商品代码解释3.6 查询商品代码解释3.7 统计商品代码解释4 系统功能实现4.1 系统功能主菜单界面实现4.2 人员录入信息界面实现4.3 查询人员信息界面实现4.4 修改人员信息界面实现4.5 升级人员等级界面实现4. 6 增加人员信息界面实现4. 7 删除人员信息界面实现4.8 显示人员信息界面实现4.9 统计人员个数界面实现5 软件测试6 软件使用说明书6.1 录入功能模块的使用说明6.2 人事管理功能的使用说明6.3 打印功能的使用说明6.4 统计功能的使用说明参考文献结束语1 软件需求分析说明书1.1 需求分析人事管理系统就是对人力资源的取得,开发,保持和利用等方面进行计划、组织、指挥和控制活动。研究人与人之间的关系,细条人与事的配合,充分开发人力资源,挖掘人的潜能,调动人的积极性,实现组织的既定目标,使经济利益最大化。作为企业信息管理的一个子系统,人事管理系统应该具备MIS的各项特征,而且需要考虑人为的因素,在研发的过程中应该重视人的行为,需要领导的亲自参加。人事管理系统主要提供人事管理整体解决方案,在提高工作效率的同时,将人事管理同企业战略发展紧密结合,借此达到增强企业和单位整体竞争的目的。1.2 功能简介1.2.1 人员录入功能本功能主要是针对老板使用。老板通过主页面提示菜单键入相对应数字,一一将四类人员姓名,编号,等级,薪水输入到四个文件中保存。每类人员当输入姓名为”no”时,系统会结束对此类人员信息的输入。1.2.2 人员管理功能人员管理功能主要是针对公司老板使用,对公司人员进行简单的管理。本功能当中主要可以实现各类人员的查询、修改、升级、增加和删除等功能。(1)查询信息通过主页面提示菜单键入相对应数字进入添查询人员选项,然后进入查询的小界面,再根据提示键选择要查询的那类人员,输入要查寻的此类人员的姓名,如果找到就显示此人员的四项基本信息;如果没有找到就显示“很抱歉,没有查到你想找的人员”。(2)修改信息通过主页面的提示菜单键入相应数字进入修改人员信息选项,然后选择修改哪类人员,再根据姓名查询要修改的人员信息,若查到就修改,查不到给出提示信息。(3)人员升级通过主页面的提示菜单键入相应数字进入升级人员选项,然后进入小界面,选择要升级的那类人员。技术和业务b、c类人员根据薪水升级,即给b、c类中薪水最高的升级;文秘和财务人员根据编号升级,即给b类中编号最靠前的那个升为a级。(4)增加人员信息 通过主页面的提示菜单键入相应数字进入增加人员信息选项,然后进入小界面,选择要增加哪类人员信息,再输入要添加人员的等级,利用数组增加成员的方式在此等级的末尾添加人员的姓名,薪水,编号。(5)删除人员信息通过主页面的提示菜单键入相应数字进入删除人员信息选项,然后进入小界面,选择要删除哪类人员信息,再输入要删除人员的姓名,若找到该人员,就利用数组删除成员的方式删除该人员信息,若未找到,给出提示信息。1.2.3 人员显示功能此功能主要是提供显示功能。用户和老板可通过主页面的显示菜单键相应的数字输出文件中所存储的四类人员(技术,业务,文秘,财务)的姓名、编号、等级等基本信息。1.2.4人员统计功能 此功能主要是统计四类人员的人数。老板可通过菜单键进入统计选项,然后打开各个文件读取文件中人员数并输出即可。1.3 界面介绍与要求 图1-1 管理员进入的功能界面本系统的软件界是使用C+编译生成的一个系统操作菜单。操作菜单界面总共有9个选项可以供老板操作选择,分别为录入信息,查询信息,修改信息,升级信息,增加信息,删除信息,显示信息,统计信息,退出系统。菜单页面下方有可供用户选择操作项目的指令,当用户选择并输入1-9中的任意数字,系统便会进入相应的功能操作。如果出现错误操作,系统会自动跳出回到主菜单界面。 图1-2 一般用户进入的功能界面操作菜单界面总共有2个选项可以供一般用户操作选择,分别为显示信息,退出系统。菜单页面下方有可供用户选择操作项目的指令,当用户选择并输入1-2中的任意数字,系统便会进入相应的功能操作。如果出现错误操作,系统会自动跳出回到主菜单界面。页面的组织和设计要求先构思好系统的功能模块和结构框架,分析系统中的各个实体以及它们间的具体联系关系,根据问题的描述先设计好系统的类层次,完成类层次中各个成员函数的定义,实现每一个模块层次之间的衔接,从而设计出工整漂亮的管理系统,要求整个系统的界面设计简洁、美观,让老板使用起来方便快捷。1.4 数据结构要求在整个系统当中除了使用类层次结构、继承机制等,还使用的数据结构当中的数组,用来进行人员信息的各项功能。包括人员增加、修改、删除、查询、升级等。可以通过文件进行存储、访问操作。2 系统分析与设计2.1 系统分析系统的主要工作流程图如下,当进入操作主菜单界面时,会有相应的不同的操作选项供用户选择,但操作完成后就返回到系统主菜单。2.1.1 功能图 管理员统计信息显示信息删除信息增加信息升级信息修改信息查询信息录入信息图2-1 管理员功能模块图 一般用户显示信息退出系统 图2-2 一般用户功能模块图2.1.2流程图人事管理系统:开始管理员 输入身份一般用户输入密码密码是否正确?显示信息否是显示信息统计信息升级信息查询信息删除信息修改信息增加信息录入信息退出系统结 束 图2-3 人事管理系统流程图3 软件的实现3.1 主系统头文件和基类的定义#include#include#include#includeusing namespace std;class basepublic:string name;. . . . . . . . . . ; virtual void input()=0; virtual void display()=0; class skill:public basepublic: . . . . . . friendvoid improverank1();friend void show();class talk:public basepublic:. . . . .; friend void improverank2();friend void show();class secretary:public basepublic:. . . . . .;friend void improverank3(); friend void show();class finance:public basepublic:. . . . . .;friend void improverank4(); friend void show();class boss:public skill,public talk,public secretary,public financepublic:. . . . . . ;friend void show(); ;3.2 查询人员信息代码void boss : find()int i,n,j,code1;string employee;couttt#endl; couttt# 1.查看技术方面 #endl; couttt# 2.查看业务方面 #endl; couttt# 3.查看文秘方面 #endl; couttt# 4.查看财务方面 #endl; couttt# 5.退出查询系统 #endl; couttt#endl; for(i=0;i+) cout请输入选项n;switch(n)case 1: ifstream infile(f1.text,ios:in);if(!infile) cerropen error!t;qt=a;cout请输入要查找的姓名employee; for(j=0;aj.rankaj.wage;if(=employee)code1=1;cout编号 姓名 等级 薪水display();break;else code1=0;if(code1=0)cout很抱歉,没有您要查找的名字endl;infile.close();break;case 2: ;break;case 3: ;break;case 4: ;break;case 5: bossmenu();break;default:couterror!endl;break;3.3 修改人员信息代码void boss : revise()int i,n,j,k,m,code2;string employee;couttt#endl; couttt# 1.修改技术方面 #endl; couttt# 2.修改业务方面 #endl; couttt# 3.修改文秘方面 #endl; couttt# 4.修改财务方面 #endl; couttt# 5.退出修改系统 #endl; couttt#endl; for(i=0;i+)cout请输入选项n;if(n=1)ifstream infile(f1.text,ios:in);if(!infile)cerropen error!t;for(j=0;aj.rankaj.wage;cout请输入要修改的技术成员姓名employee;for(k=0;k=t;k+)if(=employee)code2=1;cout请输入正确的名字:;cout修改成功!endl; break;else code2=0;if(code2=0)cout很抱歉,没有找到你想修改的名字!endl;infile.close();ofstream outfile(f1.text,ios:out);if(!outfile)cerropen error!endl;exit(1);outfiletendl;for(j=0;j=t;j+)taj.ranktaj.wageendl;outfile.close();if(n=2) if(n=3) if(n=4) if(n=5) bossmenu();3.4 升级人员代码void boss : improve()int i,n,j;string employee;couttt#endl; couttt# 1.升级技术方面 #endl; couttt# 2.升级业务方面 #endl; couttt# 3.升级文秘方面 #endl; couttt# 4.升级财务方面 #endl; couttt# 5.退出升级系统 #endl; couttt#endl; for(i=0;i+)cout请输入选项n;if(n=1)ifstream infile(f1.text,ios:in);if(!infile)cerropen error!t;for(j=0;aj.rankaj.wage;improverank1();cout升级成功!endl;infile.close();ofstream outfile(f1.text,ios:out);if(!outfile)cerropen error!endl;exit(1);outfiletendl;for(j=0;j=t;j+)taj.ranktaj.wageendl;outfile.close(); if(n=2) if(n=3) if(n=4) if(n=5) bossmenu(); 3.6增加人员信息代码void boss : add() int i,j,n,f; float pro,sell; char r; couttt#endl; couttt# 1.增加技术方面 #endl; couttt# 2.增加业务方面 #endl; couttt# 3.增加文秘方面 #endl; couttt# 4.增加财务方面 #endl; couttt# 5.退出增加系统 #endl; couttt#endl; for(i=0;i+)cout请输入选项:n;if(n=1)ifstream infile(f1.text,ios:in);if(!infile)cerropen error!t;for(j=0;aj.rankaj.wage; infile.close(); cout请输入技术增加成员的等级r;for(j=0;j=f+1;j-)aj+1.num=j+1; aj+1.name=; aj+1.rank=aj.rank; aj+1.wage=aj.wage;af+1.num=f+1;af+1.rank=r;cout请输入技术增加成员的姓名 代码量 af+1.nameaf+1.wage;cout添加成功!endl;ofstream outfile(f1.text,ios:out);if(!outfile)cerropen error!endl;exit(1);outfilet+1endl;for(j=0;j=t+1;j+)taj.ranktaj.wageendl;outfile.close();if(n=2) if(n=3) if(n=4) if(n=5) bossmenu(); 3.7 删除人员信息代码void boss : del()int i,j,n,f,code3;string employee;couttt#endl; couttt# 1.删除技术方面 #endl; couttt# 2.删除业务方面 #endl; couttt# 3.删除文秘方面 #endl; couttt# 4.删除财务方面 #endl; couttt# 5.退出增加系统 #endl; couttt#endl;for(i=0;i+)cout请输入选项n;if(n=1) ifstream infile(f1.text,ios:in);if(!infile)cerropen error!t;for(j=0;aj.rankaj.wage; infile.close();cout请输入技术方面要删除的人员姓名employee;for(j=0;j=t;j+)if(=employee)code3=1;f=j;cout删除成功!endl;break; else code3=0;if(code3=0)cout很抱歉,没有找到你要删除的技术成员!endl;for(j=f;jt;j+)aj.num=f;=aj+1.name;aj.rank=aj+1.rank;aj.wage=aj+1.wage;ofstream outfile(f1.text,ios:out);if(!outfile)cerropen error!endl;exit(1);t=t-1;outfiletendl;for(j=0;j=t;j+)taj.ranktaj.wageendl;outfile.close();if(n=2) if(n=3) if(n=4) if(n=5) bossmenu();3.8显示人员信息代码void show()int i;ifstream infile1(f1.text,ios:in);if(!infile1)cerropen error!endl;exit(1);cout技术endl; cout编号 姓名 等级 薪水t;qt=a;for(i=0;ai.rankai.wage;(qt+i)-display();infile1.close(); .3.9统计人员信息代码void tongji()ifstream infile1(f1.text,ios:in);if(!infile1)cerropen error!t;cout技术人员共t+1名endl;infile1.close(); . . . cout公司人事总人数:t+t2+t3+t4+4endl;4 系统功能实现4.1 系统功能主菜单界面实现图4-1 系统管理员开始界面4.2 人员录入信息界面实现图4-2 管理员录入操作4.3 查询人员信息界面实现 图4-3 管理员查询操作4.4 修改人员信息界面实现图4-4 管理员修改操作4.5 升级人员等级界面实现 图4-5 管理员升级操作4.6增加人员信息界面实现 图4-6 管理员添加操作4.7删除人员你信息界面实现图4-7 管理员删除操作4.8显示人员信息界面实现 图4-8 管理员打印操作4.9统计人员信息 图4-9 管理员统计操作6 软件使用说明书6.1 录入功能模块的使用说明在使用本系统首先会进入系统首页面上面有相应数字操作提示,请选择要进行的操作项目,用户键入1便进入录入人员信息功能。根据相关提示输入各类人员的基本信息,录入完毕后,返回主页面。6.2 人员管理功能的使用说明在本管理模块主要有个功能,即人员添加功能、删除功能、修改功能、查询功能,升级功能,主要适用于公司老板对公司人员进行管理。根据首页面的提示信息进入相依的操作。键入2 进入查询功能,在不同的类中根据姓名进行查询然后自动保存。键入3 进入修改功能,在不同的类中,根据姓名查询到要修改的人员,然后输入正确的名字,然后自动保存。键入4 进入升级功能,通过数字选择要升级的那类人员,然后自动保存。键入5 进入增加功能,先输入人员等级,再输入人员基本信息即可,然后自动保存。键入6 进入删除功能,在不同的类中根据姓名查找要
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年新疆阿勒泰地区二中高考仿真卷英语试卷含答案
- 职业技术学校机电技术应用专业人才培养方案
- 职业技术学院2024级酒店管理与数字化运营专业人才培养方案
- 2025年河北省邯郸市峰峰中学中考一模化学试题(原卷版+解析版)
- 湖北省部分省级示范高中2024~2025学年高二下学期期中测试英语试题(原卷版+解析版)
- 白酒的健康饮用方法考核试卷
- 炼焦焦化过程中的质量控制与评价方法考核试卷
- 畜产品加工产业政策动态分析考核试卷
- 纺织品终端店铺运营管理考核试卷
- 稀土金属矿床开采的粉尘污染防治考核试卷
- 承插型盘扣式钢管脚手架安全技术标准JGJT231-2021规范解读
- 2025年江西九江市城市发展集团有限公司招聘笔试参考题库含答案解析
- 女性生命觉醒
- 机械行业重点岗位安全手册
- 《休闲农业》课件 项目五 休闲农业项目规划设计
- 基于大数据的公共安全风险预测模型研究报告
- 2025年广东省广州市荔湾区中考一模英语模拟试题
- DBJ33∕T 1104-2022 建设工程监理工作标准
- 2025年河北雄安新区雄县事业单位招聘考试笔试高频重点模拟试卷提升(共500题附带答案详解)
- 建设工程消防工程设施验收技术指导手册
- 现代物流园区的应急物资储备与调配
评论
0/150
提交评论