《C++小型企业工资管理系统.docx》由会员分享,可在线阅读,更多相关《C++小型企业工资管理系统.docx(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、一、需求求分析1. 从要求上上来看是是要对各各个员工工的各种种情况(名字、年龄、性别、职位、工资状状况)进进行输入入。然后后可以输输出.2. 可以对于于员工数数据进行行修改,可以查查询.3. 对于员工工的各种种情况系系统还可可以进行行统计排排名.二二、概要要设计首先,创创建了一一个emmplooyeee类.然然后派生生出四个个类:mmanaagerr、teechnniciian、sallesmman、saleesmaanagger.在派生生类中定定义了三三个构造造函数,分别是是:数据据输入函函数(IInpuut),表格输输出函数数(Prrintt),排排序函数数(Paay).其次,在在总体结结
2、构上,建立以以各根菜菜单,用用于选择择各种功功能.1. Inpuut(数数据输入入):输输入员工工的各种种数据.2. Totaal(数数据统计计):将将员工的的总数据据进行对对比排序序,然后后输出.3. Outpput(数据显显示):显示输输入的各各种数据据.4. Savee(数据据保存):对输输入的数数据进行行保存备备份.5. Eixtt(退出出程序):执行行退出程程序命令令.三、详细细设计1. Inpuut(数数据输入入):定定义了各各个岗位位的人员员的类,并把每每个类的的人员的的属性设设为类中中的保护护成员,其中技技术工的的工作时时间和每每小时的的所得为为私有成成员,而而销售员员的销售售
3、额、经经理的工工资和销销售经理理的所辖辖部门的的销售额额和其底底薪设为为公有成成员,再再依次录录入。2. Totaal(数数据统计计): 根据所所有类的的工资算算法在其其所属类类中定义义一个函函数vooid payy()来来根据各各个职位位的具体体情况来来计算工工资,并并且算出出的工资资经过冒冒泡法排排序.voiid pprinnttootall()cooutenddl;cooutTottal settw(110)tootall enddl;cooutenddl;3. Outpput(数据显显示): 通过过do-whiile循循环以及及制表格格和seetw的的使用将将输入的的数据和和统计并并排
4、序的的数据以以表格的的形式打打印出来来,销售售额合计计一栏宽宽度要大大些。voidd saalepprinnt()couutsettw(110)noo1settw(110)naame11settw(110)saale11enddl;couuteendll;couutsettw(110)noo2settw(110)naame22settw(110)saale22enddl;couuteendll;couutsettw(110)noo3settw(110)naame33settw(110)saale33enddl;couuteendll;couutsettw(110)noo4settw(110)n
5、aame44settw(110)saale44enddl;voiid pprinnt()couuteendll;couutsettw(110)noosettw(110)naamesettw(110)seexsettw(110)aggesettw(110)saalarryenddl;4. Savee(数据据保存):通过过函数ssavee()来来将输入入的数据据和统计计并排序序的数据据进行保保存.例例如:voidd saave()fstrreamm ooutffilee;outtfille.oopenn(ff:fllsdffj.ttxt,ioos:appp);if(!ouutfiile)coout
6、ff caantt oppen.n;abbortt();outtfilleSaaless maangeerenndl;outtfilleIDDnoNNAMEEnammeSEEXseexAGGEaggeSAALARRYsaalarryenddl;5. Eixtt(退出出):利利用exxit来来完成退退出系统统功能。四、设计计和调试试分析程序清单单:#inccludde#inccludde#inccludde#inccludde#inccluddeclasss eemplloyeeepubllic:empployyee()saalarry=00;voiid ppay()voiid pprinnt(
7、)voiid iinpuut()cooutno;cooutnamme;cooutsexx;cooutagee;prottectted:intt noo;chaar nnamee8;flooat sallaryy;chaar ssex;intt agge;classs mmanaagerr:viirtuual pubblicc emmplooyeeeprottectted:flooat monnthllypaay,ssalee;publlic:mannageer()moonthhlyppay=80000; voiid iinpuut()cooutMMangger;emmplooyeee:iinp
8、uut();voiid ssavee()fsttreaam outtfille;outtfille.oopenn(ff:fllsdffj.ttxt,ioos:appp);if(!ouutfiile)cooutff caantt oppen.n;abbortt();outtfilleMaangeerenndl;outtfilleIDDnoNNAMEEnammeSEEXseexAGGEaggeSAALARRYsaalarryenddl;voiid ppay()ssalaary=monnthllypaay;voiid pprinnt()cooutenddl;cooutsettw(110)nooset
9、tw(110)naamesettw(110)seexsettw(110)aggesettw(110)saalarryenddl;classs ttechhnicciann:viirtuual pubblicc emmplooyeeeprivvatee:flooat houurlyyratte;intt woorkhhourrs;publlic:tecchniiciaan()hoourllyraate=1000;voiid ppay()cooutnaameworrkhoourss;saalarry=hhourrlyrratee*woorkhhourrs;voiid iinpuut()cooutT
10、TECHHNICCIANNenddl;eemplloyeee:inpput();voiid ssavee()fsttreaam outtfille;outtfille.oopenn(ff:fllsdffj.ttxt,ioos:appp);if(!ouutfiile)cooutff caantt oppen.n;abbortt();outtfilleTEECHNNICIIANeendll;outtfilleIDDnoNNAMEEnammeSEEXseexAGGEaggeSAALARRYsaalarryenddl;voiid pprinnt()cooutenddl;cooutsettw(110)n
11、oosettw(110)naamesettw(110)seexsettw(110)aggesettw(110)saalarryenddl;classs ssaleesmaan:vvirttuall puubliic eemplloyeeeprottectted:flooat commmraate;flooat salles;publlic:sallesmman()ccommmratte=00.044; voiid iinpuut()cooutSSALEEMANN;eemplloyeee:inpput();voiid ssavee()fsttreaam outtfille;outtfille.o
12、openn(ff:fllsdffj.ttxt,ioos:appp);if(!ouutfiile)cooutff caantt oppen.n;abbortt();outtfilleTEECHNNICIIANeendll;outtfilleIDDnoNNAMEEnammeSEEXseexAGGEaggeSAALARRYsaalarryenddl;voiid ppay()cooutnaamessalees; saalarry=ssalees*ccommmratte;voiid pprinnt()cooutenddl;cooutsettw(110)noosettw(110)naamesettw(11
13、0)seexsettw(110)aggesettw(110)saalarryenddl;classs ssaleesmaanagger:virrtuaal ppubllic mannageer,vvirttuall puubliic ssaleesmaanprivvatee:flooat tottal;intt noo1,nno2,no33,noo4;ccharr naame118,naame228,naame338,naame448;flooat salle1,salle2,salle3,salle4;publlic:voiid ssaleemannageer()moonthhlyppay=
14、50000;coommrratee=0.0055;voiid iinpuut()cooutSSalees mmangger;emmplooyeee:iinpuut();voiid ssavee()fsttreaam outtfille;outtfille.oopenn(ff:fllsdffj.ttxt,ioos:appp);if(!ouutfiile)cooutff caantt oppen.n;abbortt();outtfilleSaaless maangeerenndl;outtfilleIDDnoNNAMEEnammeSEEXseexAGGEaggeSAALARRYsaalarryen
15、ddl;voiid ssaveesalle()fsttreaam outtfille;outtfille.oopenn(ff:fllsdffj.ttxt,ioos:appp);if(!ouutfiile)cooutff caantt oppen.n;abbortt();outtfilleThhe ssalaary of sallemaan oof ssalees mmangger andd thhemsselvveseendll;outtfilleIDDno11NAMMEnaame11SALLARYYsalle1enndl;outtfilleIDDno22NAMMEnaame22SALLARY
16、Ysalle2enndl;outtfilleIDDno33NAMMEnaame33SALLARYYsalle3enndl;outtfilleIDDno44NAMMEnaame44SALLARYYsalle4enndl;voiid ppay()cooutnaameTThe salles vollumee off evveryydepparttmennt:;saalarry=mmontthlyypayy+coommrratee*tootall;flooat tottalssalee()tottal=salle1+salle2+salle3+salle4;retturnn tootall;voiid
17、 pprinnttootall()cooutenddl;cooutTottal settw(110)tootall enddl;cooutenddl;voiid ssortt(saalessmannageer pp)intt tmmp,ii,j;forr(j=0;jj2;j+)foor(ii=0;i22;i+)iif(ttotaalpp.saalarry)tmpp=saalarry;tottal=p.ssalaary;p.ssalaary=tmpp;tmpp=noo;no=p.nno;p.nno=ttmp;voiid ssaleer()cooutno11;cooutnamme1;cooutsa
18、lle1;cooutno22;cooutnamme2;cooutsalle2;cooutno33;cooutnamme3;cooutsalle3;cooutno44;cooutnamme4;cooutsalle4;voiid ssaleepriint()couutsettw(110)noo1settw(110)naame11settw(110)saale11enddl;couuteendll;couutsettw(110)noo2settw(110)naame22settw(110)saale22enddl;couuteendll;couutsettw(110)noo3settw(110)na
19、ame33settw(110)saale33enddl;couuteendll;couutsettw(110)noo4settw(110)naame44settw(110)saale44enddl;voiid pprinnt()couuteendll;couutsettw(110)noosettw(110)naamesettw(110)seexsettw(110)aggesettw(110)saalarryenddl;voidd maain()mannageer mm4;tecchniiciaan tt4; sallesmman s44;sallesmmanaagerr smm4;t11.ss
20、avee();intt fllag=1,ooperratee; ddo couut # Thhe ssysttem of sallaryy maangeer #n; couut n; couut Chhosee yoour acttionns n; couut IInpuut:11,Ennterr n; couut TTotaal:22,Ennterr n; couut OOutpput:3,EEnteer n; couut SSavee:4,Entter n; couut EExitt:5,Entter n; couut n; couutooperratee;swiitchh(opperaa
21、te)casse 11:cooutWWaittingg foor aa miinutte!eendll;ffor(intt i=0;ii4;i+)mii.iinpuut();ffor(intt j=0;jj4;j+)tjj.iinpuut();ffor(intt k=0;kk4;k+)skk.iinpuut();ffor(intt l=0;ll4;l+)sml.inpput();ffor(intt i=0;ii4;i+)mii.ppay();ffor(intt j=0;jj4;j+)tjj.ppay();ffor(intt k=0;kk4;k+)skk.ppay();ffor(intt l=0
22、;ll4;l+)smml.paay();smml.saalerr();brreakk;caase 2:ccouttWaiitinng ffor a mminuute!enddl; ffor(intt l=0;ll4;l+)sml.tottalssalee();ffor(intt i=0;ii4;i+)forr(innt jj=0;j22;j+)smj.sorrt(ssmjj+1);cooutTThe sallemaan oof tthe firrst salles manngerrenddl;cooutenddl;cooutIDD NNAMEE SALLARYY enddl;smm0.saal
23、epprinnt();smm0.prrintttottal();coout Thhe oordeer iis ccomppletteenndl;cooutLListt naamess off evveryy saaless maangeerenndl;cooutenddl;cooutIDD NNAMEE SEEX AGGE SAALARRY enddl;ffor(intt k=0;kk4;k+)smk.priint();cooutenddl;breeak;caase 3:cooutWWaittingg foor aa miinutte!eendll;coout TThe blaank of t
24、hee :eendll;cooutenddl;cooutIDD NNAMEE SEEX AGGE SAALARRY enddl;foor(iint i=00;i4;ii+)mmi.prrintt();cooutenddl;cooutenddl;cooutenddl;cooutenddl;cooutIDD NNAMEE SEEX AGGE SAALARRY enddl;foor(iint k=00;k4;kk+)ssk.prrintt();cooutenddl;cooutenddl;cooutenddl;brreakk;caase 4:cooutWWaittingg foor aa miinut
25、te!eendll;foor(iint i=00;i4;ii+)mmi.saave();ffor(intt j=0;jj4;j+)tjj.ssavee();ffor(intt k=0;kk4;k+)skk.ssavee();ffor(intt l=0;ll4;l+)sml.savve();coout Innforrmattionn saave! enddl;bbreaak; casse 55:exxit(0);breeak; deffaullt:ccouttErrror!Reppeatt aggainn!enndl;whhilee(fllag=1);五、用户户手册1) 运行程序序.会出出现如下
26、下画面,按照提提示进行行选择.2) 首先选择择1,然然后按EEnteer键.按照提提示对员员工个人人情况进进行输入入.如图图:3) 然后选择择4,然然后按EEnteer键.对刚才才输入的的数据进进行保存存.4) 选择2, 然后后按Ennterr键.对对数据进进行统计计.如图图:六、测试试结果对各个部部分功能能进行测测试后,各部分分功能都都很好.但是此此程序也也有的它它的缺点点在.那那就是它它不能按按照个人人的意愿愿,职能能按照固固定的人人数对数数据进行行输入,既不能能多也不不能少.很麻烦烦.一但但格式输输入的不不正确会会立即进进入死循循环.不不理想. 本程序序综合性性非常强强,由于于我们对对使
27、用CC+设设计程序序的能力力还不是是很熟练练,所以以在设计计时非常常吃力。在整个个程序中中,我们们通过使使用whhilee循环,swiitchh语句,冒泡排排序法,表格设设计中的的settw()以及类类的定义义及使用用来完成成程序设设计,使使我提高高了对CC+中中语句的的使用能能力和组组合能力力,进一一步加强强了我对对使用CC+编编程的能能力。通过此次次程序设设计实习习,我发发现自己己在学习习C+方面还还有很多多不足,在此程程序中可可能还有有一些不不足和错错误,我我们将在在以后的的学习过过程中不不断努力力并强化化对C+的练练习七、参考考文献1 苏金明,周建斌斌.用VVB.NNET和和VC#.NEET开发发交互式式CADD系统M. 北京京:电子子工业出出版社,200042 普悠玛.VB.NETT程序设设计示例例导学M. 北京京:科海海电子出出版社,20003第 27 页 共 27 页