《公司人事管理系统论文.docx》由会员分享,可在线阅读,更多相关《公司人事管理系统论文.docx(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、软件学院课程设计报告设计名称:C+课程设计选题名称称:人事事管理系系统姓名:学号:115155专业班级级:系(院):设计时间间:设计地点点:1需求分分析1.1需需求概述述设计一个个公司人人事管理理系统,该系统统主要实实现了对对老板和和普通员员工(游游客)不不同的操操作。【1】 老板身份份的功能能:(1) 增加职员员信息(2) 显示职员员信息(3) 删除职员员信息(4) 保存职员员信息(5) 读取职员员信息(6) 修改职员员信息(7) 排序职员员信息(8) 统计员工工信息(9) 查找员工工信息(10) 退出系统统【2】 普通员工工的功能能(1)显显示职员员信息(2)公公司职员员状况(3) 查找职
2、员员信息(4) 退出系统统1.2需需求说明明(1随着着现代社社会的发发展,公公司的人人员信息息资料变变化较大大。在这这个信息息爆炸的的时代再再像曾经经用笔那那样记录录人员信信息效率率较低,工作量量较大。与此相相对应的的信息登登记电子子化则很很好的解解决此问问题。故故推出本本人事管管理系统统令你摆摆脱往日日与笔墨墨为伴的的岁月。(2 本本系统能能记录常常见的姓姓名,性性别,编编号,职职务,月月薪等基基本工资资。对于录入入的人员员的信息息都能用文件件保存起起来,并并且可以以任意对其其进行删删除,浏浏览,修修改,增增加等常见操作作。(3显示示所有人人员信息息有一定定规范的的格式,以便老老板以及及其他
3、员员工的查查看,分分析等应应用。(4该管管理系统统是以大菜单下细细分小菜菜单的方方式进行行工作,为不同同用户提提供清晰晰且不同同菜单功功能的使使用提示示,依据据不同用户户的不同同选择进进行不同同操作任意意切换2 总体设计计2.1功功能模块块图该系统按按功能模模块划分分如下:公司人事管理系统普通员工老板公司职员状况统计员工信息查找职员信息查找员工信息统计员工信息排序职员信息修改职员信息读取职员信息保存职员信息删除职员信息显示职员信息增加职员信息退出系统按照员工的编号按照员工的编号修改工资修改职务修改姓名2.2功功能描述述(1)身身份选择择模块是是公司人人事管理理系统的的入口,是用来来完成用用户操
4、作作命令的的接口,用户可可以根据据提示进进入不同同的身份份的功能能界面,进而实实现不同同用户的不不同需求求(2)进进入公司司人员管理理界面开始始选择功功能,如如果系统统读取到到之前的的保存的的信息可可以增删删查改等等常见功功能,如如没有则则可初始始化人员员,然后后进行相相应操作作。(3)对对人员信信息的查查询可以以运用独独一无二二的编号号快速查查找职工工。(4)在在删除商商品信息息模块中中仅允许许老板身身份人员员对职员员信息进进行删除除操作(5)修修改职员员信息中中老板可可以根据据需要对对某些职职员进行行提拔,调整工工资等功功能。(6)在在统计职职员信息息功能中中,统计计出当前前所有职职员的一
5、一些信息息。如男男女职员员的数目目,某一一职务的的人数,所有职职员数目目等等功功能。(7)在在普通职职员身份份仅仅能能查看公公司特定定信息,任何具具有修改改信息的的功能模模块,考考虑到安安全性均均不能实实现。2.3数数据结构构在公司人人事管理理系统中中主要的的数据结结构是职职员的信信息,包包含职员员姓名,职员性性别,职职员编号号,职员员工资,职员职职务,等等在处理理过程中中可以作作为一个个员工的不不同类别别进行处处理,其其中员工工类别包包括文书书类,技技术人员员类,技技术经理理类,业业务员类类,业务务员经理理类等等等。用户户可以根根据菜单单提示对对信息进进行不同同处理2.4系系统流程程图老板功
6、能能流程图图开始功能选择增加职工否 否删除职工否查询职工否否修改职工否 否否 结束退出老板身份否是 开始员工功能能流程图图功能选择执行完毕显示所有职工信息查看公司信息 是是 否 是 否 查询员工信息 退出员工身份 是是 否 否 是 退出3 详细细设计3.1 类的设设计在;人事事管理系系统中共共设计了了六个类,分别是是: 文文书(empployyee)类,销销售员(sallesmman)类,销售售经理(SallesMManaagerr)类,技术术员(Tecchniicall)类,技术经经理(TTechhniccalMManaagerr)类,老板(bosss)类类,emmplooyeee类作为为基
7、类,其他类类均由eemplloyeee类派派生。(1)文文书(empployyee)类classs eemplloyeee/普通职职工 prroteecteed: ccharr naame20;/姓名 iint nummberr;/编号chhar levvel20;/职务 ccharr seex;/性别别 ffloaat ssalaary;/工工资 iint flaage;/标标记 puubliic: eemplloyeee(ccharr naam220,chaar llev20,innt nnu,ccharr see,innt ffla); eemplloyeee() vvoidd shho
8、w(); ffloaat SSalaary(); ccharr * GettNamme();/提取姓姓名函数数 iint GettEmppNo();/提取取编号 ccharr * Levvel();/提取取级别 ccharr Seex();/提取性性别 iint GettFlaa(); ffrieend claass bosss; eemplloyeee *nexxt; ;(2)经经理(Mannageer)类类classs MManaagerr:puubliic eemplloyeee/经理pubblicc:Maanagger(chaar nnam20,chhar levv200,iint n
9、u,chaar sse,iint flaa);vooid payy();vooid shoow();Manaagerr:MManaagerr(chhar namm200,ccharr leev220,intt nuu,chhar se,intt flla): emplloyeee(nnam,levv,nuu,see,flla)sallaryy=50000;flaage=flaa;(3)销销售员(sallesmman)类classs ssaleesmaan: pubblicc emmplooyeee/销销售员prootecctedd:flloatt saale_numm;/销售额额flloatt
10、 saale_objjectt;/项目额额flloatt saale_nummRatte;/销售售额提成成率flloatt saale_objjecttRatte;/项目目额提成成率pubblicc:saalessmann()saalessmann(chhar namm200,ccharr leev220,intt nuu,chhar se,intt flla,ffloaat ss_n,flooat s_oob);vooid shoow();saleesmaan:sallesmman(chaar nnam20,chhar levv200,iint nu,chaar sse,iint flaa,
11、flloatt s_n,ffloaat ss_obb):eemplloyeee(nnam,levv,nuu,see,flla)flaage=flaa;/标记salle_nnum=s_nn;salle_oobjeect=s_oob;salle_nnumRRatee=0.15;salle_oobjeectRRatee=0.10;sallaryy=saale_objjecttRatte*ssalee_obbjecct+ssalee_nuum*ssalee_nuumRaate; (4)销销售经理理(SaalessMannagee)类classs SSaleesMaanagger: puubliic M
12、Manaagerrpubblicc:SaalessMannageer(ccharr naam220,chaar llev20,innt nnu,ccharr see,innt ffla,flooat s_nn,flloatt s_ob);vooid shoow();prootecctedd:flloatt saale_numm;/销售额额flloatt saale_objjectt;/项目额额;SaleesMaanagger:SaalessMannageer(ccharrnamm200,ccharr leev220,intt nuu,chhar se,intt flla,ffloaat ss_
13、n,flooat s_oob):Mannageer(nnam,levv,nuu,see,flla) sstrccpy(namme,nnam);/姓名名 strrcpyy(leevell,leev);/等等级 nnumbber=nu;/编编号 ssex=se;/性性别 fflagge=ffla; ssalee_nuum=ss_n; ssalee_obbjecct=ss_obb; ssalaary=sallaryy+(ssalee_obbjecct+ssalee_nuum)*0.335; (5) 技术人员员(Teechnnicaal)类类classs TTechhniccal: puubliic
14、eemplloyeeeprootecctedd:flloatt coode_numm;flloatt coode_priice;pubblicc:Teechnnicaal(ccharr naam220,chaar llev20,innt nnu,ccharr see,innt ffla,flooat C_nn);Techhniccal:Teechnnicaal(ccharr naam220,chaar llev20,innt nnu,ccharr see,innt ffla,flooat C_nn) strrcpyy(naame,namm);/姓姓名 sstrccpy(levvel,levv)
15、;/等等级 nnumbber=nu;/编编号 ssex=se;/性性别 fflagge=ffla; ccodee_prricee=10000; sallaryy=C_n*ccodee_prricee; (6) 技术经理理(TeechnnicaalMaanagger)类classs TTechhniccalMManaagerr: ppubllic Tecchniicall pubblicc:TeechnnicaalMaanagger(chaar nnam20,chhar levv200,iint nu,chaar sse,iint flaa,flloatt boon);prootecctedd:
16、flloatt boonuss;TechhniccalMManaagerr:TTechhniccalMManaagerr(chhar namm200,ccharr leev220,intt nuu,chhar se,intt flla,ffloaat bbon):Tecchniicall(naam,llev,nu,se,flaa,1) sttrcppy(nnamee,naam);/姓名 sstrccpy(levvel,levv);/等级级 nnumbber=nu;/编编号 ssex=se;/性性别 fflagge=ffla; ssalaary=50000; bbonuus=bbon; ssal
17、aary=sallaryy+boonuss; (7) 老板(bbosss)类classs bbossspubblicc:vooid creeat_heaad();/增vooid creeat();vooid delletee_innf();/删vooid seaach();vooid shoow();vooid sorrt(); vooid reaad_ffilee();/读读文件innt wwritte_ffilee();/写写入文件件*/vooid moddifyy();vooid couunt();prootecctedd:emmplooyeee *hheadd;3.2 画出类类图Emp
18、loyeeSalesManagerSalesman4 编 码头文件#inccludde#inccludde#inccludde#inccludde#inccludde#inccluddeint n=1151559000;usinng nnameespaace stdd;/姓名,编号,级别,低薪,工资总总额voidd Reegissterr();voidd Looginn();voidd Coorreect();光标位置置函数 extternn vooid gottoxyy(innt xx, iint y) COOORD poss = x,y; HANNDLEE hOOut = GeetSttd
19、Haandlle(SSTD_OUTTPUTT_HAANDLLE); SeetCoonsooleCCurssorPPosiitioon(hhOutt, ppos); claass empployyee/普通通职工 prroteecteed: ccharr naame20;/姓名 iint nummberr;/编号chhar levvel20;/*如果用用strringg类型文件件读到职职位这个个数据时时会出现错错误或者者乱码,若是改改成chhar levvel20,文件件的读写写能实现现但是会会有警告告。*/ ccharr seex;/性别别 ffloaat ssalaary;/工工资 iint
20、 flaage;/标标记 puubliic: eemplloyeee(ccharr naam220,chaar llev20,innt nnu,ccharr see,innt ffla); eemplloyeee() vvoidd shhow(); ffloaat SSalaary(); ccharr * GettNamme();/提取姓姓名函数数 iint GettEmppNo();/提取取编号 ccharr * Levvel();/提取取级别 ccharr Seex();/提取性性别 iint GettFlaa(); ffrieend claass bosss; eemplloyeee *
21、nexxt; ; voiid eemplloyeee:shoow() cooutnaametttnummberrttleevellttseextttssalaarynexxt; iif(pp1!=NULLL) mmin_sallaryy = p1-Saalarry(); whhilee(p11!=NNULLL)AALL_Sallaryy=p11-SSalaary()+AALL_Sallaryy; aall_numm+;iif(pp1-Sexx()=1119) SEXX_W_numm+;eelsee SEEX_MM_nuum+; iff(p11-SSalaary() maax_ssalaary)
22、 mmax_sallaryy = pp1-Sallaryy(); iif(pp1-Sallaryy() Sallaryy(); iif(pp1-GettFlaa()=1) eemplloyeee_nnum+; elsse iif(pp1-GettFlaa()=2) ssaleesmaan_nnum+; elsse iif(pp1-GettFlaa()=3) SSaleesMaanagger_numm+; elsse iif(pp1-GettFlaa()=4) TTechhniccal_numm+; elsse iif(pp1-GettFlaa()=5) TTechhniccalMManaage
23、rr_nuum+; pp=p11;pp1=pp1-nexxt; pp1=hheadd-nnextt; iif(pp1!=NULLL) coouttttt公公司职员员信息eendll; cooutenndl; coouttttt职职员一共共:alll_nnum人人!enndl; coouttttt其其中男生生人数:SEXX_M_numm 女生生人数:SEXX_W_nummeendll; coouttttt公公司文书书人数为为:emmplooyeee_nuumenddl; coouttttt销销售人员员人数为为:saalessmann_nuumenddl; coouttttt销销售经理理人数为为:
24、SaalessMannageer_nnumenndl; coouttttt技技术人员员人数为为:Teechnnicaal_nnumenndl; coouttttt技技术经理理人数为为: TTechhniccalMManaagerr_nuumenddl; couuttttt公司司的人均均月薪为为:ALLL_SSalaary/alll_nuumenddl; coouttttt最最高工资资:maax_ssalaaryenndl; coouttttt最最低工资资:miin_ssalaaryenndlenndl; eelsee coouttttt员员工信息息暂时未未统计eendll; ccouttttt
25、t是否离离开本界界面?yy/nchooicee; iff(chhoicce=y) brreakk;修改函数数voidd booss:moodiffy()/修修改作用用syysteem(clss);whhilee(trrue)intt i=0;eemplloyeee *p=hheadd;eemplloyeee *p1=heaad-nexxt;ccharr Noo; chaar nnamee2220,namme120;/姓名 intt nuumbeer;/编号号 chaar llevee200;/等级级 chaar ssex;/性性别 flooat sallaryy;/工资 sysstemm(ccls);ccoutttttt 请输输入修改改的类型型enddl;ccoutttttt1 姓名名 eendll;ccoutttttt2 等级级 eendll;ccoutttttt3 工资资 Noo;swwitcch(NNo)casse11:couuttt
限制150内