C企业工资管理系统课程设计Word文件下载.docx

上传人:b****6 文档编号:20230064 上传时间:2023-01-21 格式:DOCX 页数:33 大小:160.96KB
下载 相关 举报
C企业工资管理系统课程设计Word文件下载.docx_第1页
第1页 / 共33页
C企业工资管理系统课程设计Word文件下载.docx_第2页
第2页 / 共33页
C企业工资管理系统课程设计Word文件下载.docx_第3页
第3页 / 共33页
C企业工资管理系统课程设计Word文件下载.docx_第4页
第4页 / 共33页
C企业工资管理系统课程设计Word文件下载.docx_第5页
第5页 / 共33页
点击查看更多>>
下载资源
资源描述

C企业工资管理系统课程设计Word文件下载.docx

《C企业工资管理系统课程设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《C企业工资管理系统课程设计Word文件下载.docx(33页珍藏版)》请在冰豆网上搜索。

C企业工资管理系统课程设计Word文件下载.docx

//税金

intjiangjin;

//奖金

friendvoidmodify(intx);

//友员函数

friendintdel(intx);

}

2.程序模块

(1)录入操作:

voidwriten(intx),该模版主要实现工资信息的录入;

(2)添加操作:

voidadd(intx),该模版主要实现工资信息的添加;

(3)删除操作:

voiddel(intx),该模版主要实现工资信息的删除;

(4)修改操作:

voidmodify(intx),该模版主要实现工资信息的修改;

(5)查询操作:

voidfind(intx),该模版主要实现工资信息的查询(按名字查询或按工号查询);

(6)统计操作:

voidcount(intx),该模版主要实现工资信息的统计(统计单位的平均工资、最高工资、最低工资、工资均方差;

统计部门的平均工资、最高工资、最低工资、工资均方差)。

3.程序模块结构

voidmain(){

菜单(输入选择);

操作;

}

三、详细设计

(1)类模块

intjiangjin;

message(){}//********************构造函数

voidxinxi(chara_name[],chara_bornplace[],chara_duty[],chara_bumen[],inta_ID,inta_number,inta_basesalary,inta_jobsalary,inta_jiangjin,inta_yljj,inta_sj)

{

strcpy(name,a_name);

strcpy(bornplace,a_bornplace);

strcpy(duty,a_duty);

strcpy(bumen,a_bumen);

ID=a_ID;

number=a_number;

basesalary=a_basesalary;

jobsalary=a_jobsalary;

jiangjin=a_jiangjin;

yljj=a_yljj;

sj=a_sj;

}

message&

operator=(constmessage&

s)//**********************运算符重载

strcpy(name,s.name);

strcpy(bornplace,s.bornplace);

strcpy(duty,s.duty);

strcpy(bumen,s.bumen);

ID=s.ID;

number=s.number;

basesalary=s.basesalary;

jobsalary=s.jobsalary;

jiangjin=s.jiangjin;

yljj=s.yljj;

sj=s.sj;

return*this;

friendvoidmodify(intx);

//************************友元函数

friendintdel(intx);

voidput()

cout<

<

name<

"

"

bornplace<

duty<

bumen<

ID<

number<

basesalary<

jobsalary<

jiangjin<

yljj<

sj<

endl;

~message()//**************************析构

{}

};

(2)主函数流程图

(3)录入、添加函数流程图

(4)删除函数流程图

messagea[30];

fstreamap("

wenjian.txt"

ios:

:

in||ios:

out);

//文件打开操作

cout<

请输入要删除人员信息的名字:

;

cin>

>

ming;

//输入要删除的人员姓名

for(j=0,i=0;

i<

temp;

i++)//判断是否删除

{

if(strcmp(b[i].name,ming)==0)//标记要删除的信息

{

flag=i;

}

}

if(flag==-1)

cout<

没有要删除的信息。

return0;

temp,j<

temp-1;

)//删除信息

if(flag!

=i)

a[j]=b[i];

//删除信息

i++;

j++;

else

(5)修改函数流程图

cout<

输入要修改人的名字:

flag<

请输入修改信息:

姓名:

b[flag].name;

籍贯:

b[flag].bornplace;

职务:

b[flag].duty;

部门:

b[flag].bumen;

身份证号:

b[flag].ID;

工号:

b[flag].number;

基本工资:

b[flag].basesalary;

岗位工资:

b[flag].jobsalary;

奖金:

b[flag].jiangjin;

医疗住房基金:

b[flag].yljj;

税金:

b[flag].sj;

(6)查找函数流程图

1:

按姓名查询

输入要查询的姓名:

messageb[30];

fstreamsp("

for(j=0,i=0;

i++)

{

if(strcmp(b[i].name,ming)==0)

姓名籍贯职务部门身份证号工号基本工资岗位工资奖金医疗住房基金税金"

b[i].put();

2.按工号查询:

输入要查询的工号:

nu;

for(i=0;

if(b[i].number==nu)

(7)统计函数流程图

1.按部门统计

if(strcmp(b[i].bumen,a_bumen)==0)

sum=sum+b[i].basesalary+b[i].jobsalary+b[i].jiangjin-b[i].yljj-b[i].sj;

//实发工资

u[i]=b[i].basesalary+b[i].jobsalary+b[i].jiangjin-b[i].yljj-b[i].sj;

intmax;

intmin;

max=u[0];

min=u[0];

intbb;

if(U[i]>

max)

bb=U[i];

U[i]=max;

max=bb;

//最高工资

if(U[i]<

min)

U[i]=min;

min=U[i];

//最低工资

b[i].basesalary=abs(sum/(j+0.0)-b[i].basesalary);

//工资均方差

sum1=sum1+b[i].basesalary;

2.单位统计

intU[20];

20;

U[i]=0;

//实发工资

U[i]=b[i].basesalary+b[i].jobsalary+b[i].jiangjin-b[i].yljj-b[i].sj;

max=U[0];

min=U[0];

四、调试分析

1、开始使用文件保存时出现不能为read错误,后通过查阅资料解决了问题;

2、删除部分程序开始不能判断是否找到了要删除的人员信息,后来加了flag标记后可以判断了;

3、统计部分程序在求均方差的时候出现算法错误,后来查阅了均方差公式后改正了过来

4、使用友员函数可以解决类外作用域问题。

五、用户手册

1.本程序的运行环境为doc操作系统;

2.进入界面后,按照提示输入选择;

3.选择1:

执行工资信息录入操作;

4.选择2:

执行工资信息添加操作;

5.选择3:

执行工资信息删除操作;

6.选择4:

执行工资信息修改操作;

7.选择5:

执行工资信息查询操作;

8.选择6:

执行工资信息统计操作;

9.选择7:

退出工资管理系统;

10.输入后按回车键,即可输出信息,按提示输入即可。

六、测试数据

(1)选择1:

工资录入

选择

(2):

添加工资信息

(3)选择3:

删除工资信息

(4)选择4:

修改工资信息

(5)选择5:

查找工资信息

(6)选择6:

统计工资信息

(7)选择7:

退出

七、附录

#include"

iostream.h"

#include"

stdlib.h"

stdio.h"

string.h"

message.h"

intnumber;

message(){}//********************构造函数

strcpy(bumen,a_bumen);

s)//**********************运算符重载

//************************友元函数

voidput()//定义put函数,以便于其他函数的调用

voidmain()

{

inti,b;

intor;

********欢迎进入企业工资管理系统********"

***********1.工资信息录入操作***********"

***********2.工资信息增加操作***********"

***********3.工资信息删除操作***********"

***********4.工资信息修改操作***********"

***********5.工资信息查找操作***********"

***********6.工资信息统计操作***********"

***********7.退出***********************"

*********请输入你要进行的操作选项*******"

i;

while(i!

=10)

switch(i)

default:

你输入的有误,请重新输入。

break;

case1:

输入企业人员的人数:

//输入信息

b;

writein(b);

break;

case2:

//添加

add(b);

b++;

case3:

//删除

del(b);

b--;

break;

case4:

//修改

modify(b);

case5:

//查询

┌─────────────┐"

│请输入您要选择的查询方式:

│"

│1.按姓名查找操作│"

│2.按工号查找操作│"

└─────────────┘"

cin>

or;

if(or==1)

namfind(b);

elseif(or==2)

numfind(b);

case6:

//统计

intcc;

┌─────────────┐"

│1.按部门统计│"

│2.按单位统计│"

//cin>

cc;

if(cc==1)

bmcount(b);

elseif(cc==2)

dwcount();

case7:

exit(0);

voidwritein(intx)//工资信息录入

messagea[10];

chara_name[10],a_bornplace[10],a_duty[10],a_bumen[10];

//姓名籍贯职务部门

intj,a_ID,a_basesalary,a_jobsalary,a_jiangjin,a_yljj,a_sj,a_number;

//身份证号基本工资岗位工资奖金医疗住房基金税金

fstreamf("

//打开文件

if(!

f)

Cannotopenfile\n."

for(j=0;

j<

x;

j++)

cin>

a_name;

a_bornplace;

a_duty;

a_bumen;

a_ID;

a_numbe

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 工程科技 > 冶金矿山地质

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1