工资管理系统实验任务书Word格式文档下载.docx
- 文档编号:18334830
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:21
- 大小:268.43KB
工资管理系统实验任务书Word格式文档下载.docx
《工资管理系统实验任务书Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《工资管理系统实验任务书Word格式文档下载.docx(21页珍藏版)》请在冰豆网上搜索。
voidModify(ZGGZtp[],intn)
输入参数:
ZGGZtp[]参数概念:
职工数据结构数组
intn参数概念:
第n条记录
输出参数:
无返回参数
函数功能:
完成在数组tp中修改职工工资记录的功能。
在修改记录操作中,系统会先按用户输入的职工编号查找到该记录,然后提示用户修改职工编职工工资记录的总数
号之外的值,但职工编号不能修改。
函数流程图:
2:
intLocate(ZGGZtp[],intn,charfindmess[],charnameornum[])
ZGGZtp[]参数概念:
职工数据结构数组
Intn参数概念:
职工工资记录的总数
charfindmess[]参数概念:
保存要查找的内容
charnameornum[]参数概念:
按照名字和工号在数组中查找
return-1;
函数功能:
定位数组中符合要求的元素,并返回下标值
函数流程图
3函数:
voidDisp(ZGGZtp[],intn)
ZGGZtp[]:
参数概念:
无返回值
函数功能:
用于显示数组中的N条记录
4:
intAdd(ZGGZtp[],intn)
ZGGZtp[]参数概念:
输出函数;
returnn
在数组中增加工资记录,并返回数组当前值,且显示出来
函数流程:
函数intDel(ZGGZtp[],intn)
输入参数:
intn参数概念:
找到符合条件的记录,然后删除,
用后一个数据代替前一个数据从而达到删除数据的目的
6:
函数voidQur(ZGGZtp[],intn)
输入参数
intn:
记录数组中按职工编号或姓名查找所满足的条件,并显示出来
7:
intInsert(ZGGZtp[],参数intn)
intn参数概念:
输出参数returnn
用于在数组中插入记录,并返回数组当前记录
Disp[tp,n]
8函数;
voidTongji(ZGGZtp[],intn)
ZGGZtp[]:
输出参数;
无输出参数
用于完成数组中记录统计工作,统计该公司职工工资的整体分布情况。
9函数;
voidSort(ZGGZtp[],intn)
输出参数;
在数组中利用冒泡排序算法实现数组的按实发工资字段的降序排序。
10函数:
voidSave(ZGGZtp[],intn)
输出参数无返回值
用来保存数组中的n个元素写入磁盘的数据文件中。
11主函数main()
用来控制整个工资管理系统
主流程图
2、编写补充完成部分不全程序代码,调试程序使其能正确运行
(1)
/*
删除记录:
先找到保存该记录的数组元素的下标值,然后在数组中删除该数组元素
*/
intDel(ZGGZtp[],intn)
{intsel;
charfindmess[20];
intp=0,i=0;
if(n<
=0)
{system("
cls"
);
printf("
\n=====>
Noemployeerecord!
\n"
getchar();
returnn;
}
system("
Disp(tp,n);
printf("
\n=====>
1Deletebynumber=====>
2Deletebyname\n"
pleasechoice[1,2]:
"
scanf("
%d"
&
sel);
if(sel==1)
{
stringinput(findmess,10,"
inputtheexistingemployeenumber:
p=Locate(tp,n,findmess,"
num"
if(p!
=-1)
{
for(i=p+1;
i<
n;
i++)
{
strcpy(tp[i-1].num,tp[i].num);
strcpy(tp[i-1].name,tp[i].name);
tp[i-1].jbgz=tp[i].jbgz;
tp[i-1].jj=tp[i].jj;
tp[i-1].kk=tp[i].kk;
tp[i-1].yfgz=tp[i].yfgz;
tp[i-1].jbgz=tp[i].sk;
tp[i-1].sfgz=tp[i].sfgz;
}
\n==>
deletesuccess!
n--;
saveflag=1;
else
Nofind();
elseif(sel==2)
stringinput(findmess,15,"
inputtheexistingemployeename:
name"
getchar();
returnn
(2)
/*统计公司的员工的工资在各等级的人数*/
voidTongji(ZGGZtp[],intn)
intcount10000=0,count5000=0,count2000=0,count0=0;
inti=0;
if(n<
{
system("
Notemployeerecord!
return;
i=0;
while(i<
n)
if(tp[i].sfgz>
=10000){count10000++;
i=i+1;
continue;
}/*实发工资>
10000*/
=5000){count5000++;
}/*5000<
=实发工资<
=2000){count2000++;
}/*2000<
5000*/
if(tp[i].sfgz<
2000){count0++;
}/*实发工资<
2000*/
\n------------------------------theTongJiresult--------------------------------\n"
sfgz>
=10000:
%d(ren)\n"
count10000);
5000<
=sfgz<
10000:
count5000);
2000<
5000:
count2000);
sfgz<
2000:
count0);
-------------------------------------------------------------------------------\n"
\n\npressanykeytoreturn"
}/
(3)
/*
数据存盘,若用户没有专门进行此操作且对数据有修改,在退出系统时,会提示用户存盘
voidSave(ZGGZtp[],intn)
{FILE*fp;
fp=fopen("
c:
\\zggz"
"
wb"
)
if(fp==NULL)
printf("
openfileerror!
getchar();
return;
for(i=0;
i++)
if(fwrite(&
tp[i],sizeof(ZGGZ),1,fp)==1)/*每次写一条记录或一个结构数组元素至文件*/
continue;
break;
if(i>
0)
\n\n=====>
savefilecomplete,totalsaved'
srecordnumberis:
%d\n"
i);
saveflag=0;
{system("
thecurrentlinkisempty,noemployeerecordissaved!
fclose(fp);
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 工资管理 系统 实验 任务书