C企业工资管理系统课程设计及及_第1页
C企业工资管理系统课程设计及及_第2页
C企业工资管理系统课程设计及及_第3页
C企业工资管理系统课程设计及及_第4页
C企业工资管理系统课程设计及及_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、目录需求分析.1概要设计.3详细设计.12调试分析.12用户手册.13测试数据.17附录.31需求分析源文件采用多文件的工程结构。数据存储采用文件形式。标准C+输入输出程序完成企业人事工资管理,能够实现工资的录入、统计(整个单位的平均工资、最高工资、最低工资和工资均方差;各部门的平均工资、最高工资、最低工资和工资均方差)、查询(按工号或姓名查询)、修改、删除等功能。程序执行的命令:录入员工工资信息;选择需要执行的操作(添加、统计、删除、修改、查询);输出结果。概要设计设计类的数据类型定义class messageprivate:char bornplace10,duty10; 开始int b,

2、or,i输入i值i=1录入i=2 开始int b,or,i输入i值i=1录入i=2添加i=3删除i=4修改i =5查找i=6统计i=7退出结束开始cout(请输入您要添加的信息)cout(姓名,工号,职务,身份证号,籍贯,基本工资,岗位工资,奖金,医疗住房基金,税金)cin(name,num,duty,ID,bornplace,basesalary,jobsalary,jiangjin,yljj,sj)结束开始int i,j,temp,flag=-1,char ming输入删除的名字name=mingitemp,jtemp-1aj=bi,i+,j+i+没有找到要删除的人endstartint

3、i,j,char name输入=ming输入修改的信息(名字,工号,职务,身份证号,籍贯,工资)cin(name,num,duty,ID,bornplace,basesalary,jobsalary,jiangjin,yljj,sj)没找到要修改的endcout籍贯: bflag.bornplace;cout职务: bflag.duty;cout部门: bflag.bumen;cout身份证号: bflag.ID;cout工号: bflag.number;cout基本工资: bflag.basesalary;cout岗位工资: alary;cout奖金

4、: bflag.jiangjin;cout医疗住房基金: bflag.yljj;cout税金: bflag.sj;coutendl;(6)查找函数流程图开始开始int i,j,k,num;char ming,k=1输入要查询的名字=ming输入要查询的工号bi.putBi.num=numm没有找到要查找的姓名没有找到要查找的工号结束1:按姓名查询coutming; message b30;fstream sp(,ios:in|ios:out); for(j=0,i=0;itemp;i+)if(strcmp(,ming)=0)cout姓名 籍贯 职务 部门 身份证号

5、工号 基本工资 岗位工资 奖金 医疗住房基金 税金 endl;bi.put();2.按工号查询:coutnu; message b30;for(i=0;itemp;i+)if(bi.number=nu)cout姓名 籍贯 职务 部门 身份证号 工号 基本工资 岗位工资 奖金 医疗住房基金 税金 a_bumenbi.bumen=a_bumeni=0,j=0,jtempi+j+sum=sum+bi.basesalary+alary+bi.jiangjin-bi.yljj-bi.sj;ui=bi.basesalary+alary+bi.jiangjin-bi.yljj-b

6、i.sj;i=0,j=0,jtempbi.bumen=a_bumensum=sum+basesalary+.jobsalary+.i+j+end按部门统计 for(j=0,i=0;itemp;i+)if(strcmp(bi.bumen,a_bumen)=0)sum=sum+bi.basesalary+alary+bi.jiangjin-bi.yljj-bi.sj; asesalary+alary+bi.jiangjin-bi.yljj-bi.sj;j+;int max;int min; max=u0;min=u0;int bb;for(i=0;imax)bb=Ui;

7、Ui=max;max=bb; asesalary=abs(sum/(j+-bi.basesalary);asesalary;2.单位统计int U20;for(i=0;i20;i+)Ui=0;for(j=0,i=0;itemp;i+)sum=sum+bi.basesalary+alary+bi.jiangjin-bi.yljj-bi.sj;asesalary+alary+bi.jiangjin-bi.yljj-bi.sj;j+;int max;int min; max=U0;min=U0;int bb;for(i=0;imax)bb=Ui;Ui=max;max=bb

8、; asesalary=abs(sum/(j+-bi.basesalary);asesalary;四、调试分析1、开始使用文件保存时出现不能为read错误,后通过查阅资料解决了问题;2、删除部分程序开始不能判断是否找到了要删除的人员信息,后来加了flag标记后可以判断了;3、统计部分程序在求均方差的时候出现算法错误,后来查阅了均方差公式后改正了过来4、使用友员函数可以解决类外作用域问题。五、用户手册1.本程序的运行环境为doc操作系统;2进入界面后,按照提示输入选择;3.选择1:执行工资信息录入操作;4.选择2:执行工资信息添加操作;5.选择3:执行工资信息删除操作;6.选择4:执行工资信息修

9、改操作;7.选择5:执行工资信息查询操作;8.选择6:执行工资信息统计操作;9.选择7:退出工资管理系统;10.输入后按回车键,即可输出信息,按提示输入即可。六、测试数据(1)选择1:工资录入选择(2):添加工资信息(3)选择3:删除工资信息(4)选择4:修改工资信息(5)选择5:查找工资信息(6)选择6:统计工资信息(7)选择7:退出七、附录#include#include #include #include#includeclass messageprivate:char bornplace10,duty10;资信息录入操作*endl;cout*2.工资信息增加操作*endl;cout*3

10、.工资信息删除操作*endl;cout*4.工资信息修改操作*endl;cout*5.工资信息查找操作*endl;cout*6.工资信息统计操作*endl;cout*7.退出*endl;cout*请输入你要进行的操作选项*i;coutendl;while(i!=10) switch(i) default: cout你输入的有误,请重新输入。endl;break; case 1: cout输入企业人员的人数:; 姓名查找操作 endl;cout2.按工号查找操作 endl; coutor;if(or=1) namfind(b);else if(or=2)numfind(b); break; ca

11、se 6:部门统计 endl;cout2.按单位统计 endl; coutendl;资信息录入操作*endl;cout*2.工资信息增加操作*endl;cout*3.工资信息删除操作*endl;cout*4.工资信息修改操作*endl;cout*5.工资信息查找操作*endl;cout*6.工资信息统计操作*endl;cout*7.退出*endl;cout*请输入你要进行的操作选项*i;coutendl;void writein(int x) ;for(j=0;jx;j+)cout姓名: a_name;cout籍贯: a_bornplace;cout职务: a_duty;cout部门: a_b

12、umen;cout身份证号: a_ID;cout工号: a_number;cout基本工资: a_basesalary;cout岗位工资: a_jobsalary;cout奖金: a_jiangjin;cout医疗住房基金: a_yljj;cout税金: a_sj;coutendl;aj.xinxi(a_name,a_bornplace,a_duty,a_bumen,a_ID,a_number,a_basesalary,a_jobsalary,a_jiangjin,a_yljj,a_sj); (char *)&aj,sizeof(aj );ut();else exit(0);();void a

13、dd(int x) ut();(); fstream sp(,ios:in|ios:out);for(j=0;j30;j+)if(!() (char *)&bj,sizeof(class message);elsetemp = j-1;break;();message a30;fstream ap(,ios:in|ios:out); coutming; coutendl; for(j=0,i=0;itemp;i+) if(strcmp(,ming)=0)ame,ming)=0)flag = i; bi.put();coutendl;coutflagendl;coutendl;co

14、ut请输入修改信息:endl; cout姓名: ;cout籍贯: bflag.bornplace;cout职务: bflag.duty;cout部门: bflag.bumen;cout身份证号: bflag.ID;cout工号: bflag.number;cout基本工资: bflag.basesalary;cout岗位工资: alary;cout奖金: bflag.jiangjin;cout医疗住房基金: bflag.yljj;cout税金: bflag.sj;coutendl;ofstream in();for(i=0;itemp;i+)if(!in

15、)coutCan not open!endl; (char *)&bi,sizeof(class message); coutendl; ();void namfind(int x) ame,ming)=0)cout姓名 籍贯 职务 部门 身份证号 工号 基本工资 岗位工资 奖金 医疗住房基金 税金 endl;bi.put();();void numfind(int x) umber=nu)cout姓名 籍贯 职务 部门 身份证号 工号 基本工资 岗位工资 奖金 医疗住房基金 税金 endl;bi.put();();void bmcount(int x) umen,a_bumen)=0)sum

16、=sum+bi.basesalary+alary+bi.jiangjin-bi.yljj-bi.sj;Ui=bi.basesalary+alary+bi.jiangjin-bi.yljj-bi.sj;j+;int max;int min; max=U0;min=U0;int bb;for(i=0;imax)bb=Ui;Ui=max;max=bb;for(i=0;itemp;i+)if(Uimin)bb=Ui;Ui=min;min=Ui;for(i=0;itemp;i+) bi.basesalary=abs(sum/(j+-bi.basesalary);sum1=sum1+bi.basesalary;cout最大工资为:maxendl;cout最小工资为:minendl;cout该部门工资总计为:sumendl;cout该部门工资均值为:sum/(j+endl;cout该部门工资均方差值为:sum1/(j+endl;();void dwcount() asesalary+alary+bi.jiangjin-bi.yljj-bi.sj;Ui=bi.basesalary+alary+bi.jiangjin-bi.yljj-bi.sj;j+;int max;int min; max=U0;min=U0;int bb;for(

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论