工资管理系统实验任务书.docx

上传人:b****5 文档编号:7462567 上传时间:2023-05-11 格式:DOCX 页数:21 大小:268.43KB
下载 相关 举报
工资管理系统实验任务书.docx_第1页
第1页 / 共21页
工资管理系统实验任务书.docx_第2页
第2页 / 共21页
工资管理系统实验任务书.docx_第3页
第3页 / 共21页
工资管理系统实验任务书.docx_第4页
第4页 / 共21页
工资管理系统实验任务书.docx_第5页
第5页 / 共21页
工资管理系统实验任务书.docx_第6页
第6页 / 共21页
工资管理系统实验任务书.docx_第7页
第7页 / 共21页
工资管理系统实验任务书.docx_第8页
第8页 / 共21页
工资管理系统实验任务书.docx_第9页
第9页 / 共21页
工资管理系统实验任务书.docx_第10页
第10页 / 共21页
工资管理系统实验任务书.docx_第11页
第11页 / 共21页
工资管理系统实验任务书.docx_第12页
第12页 / 共21页
工资管理系统实验任务书.docx_第13页
第13页 / 共21页
工资管理系统实验任务书.docx_第14页
第14页 / 共21页
工资管理系统实验任务书.docx_第15页
第15页 / 共21页
工资管理系统实验任务书.docx_第16页
第16页 / 共21页
工资管理系统实验任务书.docx_第17页
第17页 / 共21页
工资管理系统实验任务书.docx_第18页
第18页 / 共21页
工资管理系统实验任务书.docx_第19页
第19页 / 共21页
工资管理系统实验任务书.docx_第20页
第20页 / 共21页
亲,该文档总共21页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

工资管理系统实验任务书.docx

《工资管理系统实验任务书.docx》由会员分享,可在线阅读,更多相关《工资管理系统实验任务书.docx(21页珍藏版)》请在冰点文库上搜索。

工资管理系统实验任务书.docx

工资管理系统实验任务书

一、实验名称《工资管理系统》

二、实验目的

了解管理信息系统的开发流程,熟悉C语言的文件和结构数组的各种基本操作。

程序涉及结构体、数组、文件等方面知识,掌握利用数组存储结构实现工资管理的原理,为进一步开发出高质量的信息管理系统打下基础。

三、实验内容

工资管理系统主要实现以下几种功能:

1、输入记录功能模块:

完成将工资数据存入数组中的工作。

2、查询记录功能模块:

完成在数组中查找满足相关条件的工资数据记录,并显示。

3、更新记录功能模块。

完成对工资数据记录的修改、删除、插入和排序操作。

4、统计记录功能模块。

完成对公司员工的工资在各等级的人数统计。

5、输出记录功能模块。

实现对工资数据记录的存盘操作。

实现将数组中存储的工资数据记录信息以表格的形式在屏幕上打印出来。

6、提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观。

三、实验要求

1、对实验程序进行分析,完成主程序及每个子程序功能说明、参数说明和流程图。

例如:

1:

函数:

voidModify(ZGGZtp[],intn)

输入参数:

ZGGZtp[]参数概念:

职工数据结构数组

intn参数概念:

第n条记录

输出参数:

无返回参数

函数功能:

完成在数组tp中修改职工工资记录的功能。

在修改记录操作中,系统会先按用户输入的职工编号查找到该记录,然后提示用户修改职工编职工工资记录的总数

号之外的值,但职工编号不能修改。

函数流程图:

2:

函数:

intLocate(ZGGZtp[],intn,charfindmess[],charnameornum[])

输入参数:

ZGGZtp[]参数概念:

职工数据结构数组

Intn参数概念:

职工工资记录的总数

charfindmess[]参数概念:

保存要查找的内容

charnameornum[]参数概念:

按照名字和工号在数组中查找

输出参数:

return-1;

函数功能:

定位数组中符合要求的元素,并返回下标值

函数流程图

3函数:

voidDisp(ZGGZtp[],intn)

输入参数:

ZGGZtp[]:

参数概念:

职工数据结构数组

intn参数概念:

职工工资记录的总数

输出参数:

无返回值

函数功能:

用于显示数组中的N条记录

函数流程图

 

4:

函数:

intAdd(ZGGZtp[],intn)

输入参数:

ZGGZtp[]参数概念:

职工数据结构数组

intn参数概念:

第n条记录

输出函数;returnn

函数功能:

在数组中增加工资记录,并返回数组当前值,且显示出来

函数流程:

 

函数intDel(ZGGZtp[],intn)

输入参数:

ZGGZtp[]参数概念:

职工数据结构数组

intn参数概念:

第n条记录

输出参数:

returnn

函数功能:

找到符合条件的记录,然后删除,

用后一个数据代替前一个数据从而达到删除数据的目的

函数流程图

 

6:

函数voidQur(ZGGZtp[],intn)

输入参数

ZGGZtp[]:

参数概念:

职工数据结构数组

intn:

参数概念:

第n条记录

输出参数:

无返回值

函数功能:

记录数组中按职工编号或姓名查找所满足的条件,并显示出来

函数流程图

 

7:

函数:

intInsert(ZGGZtp[],参数intn)

输入参数

ZGGZtp[]:

参数概念:

职工数据结构数组

intn参数概念:

第n条记录

输出参数returnn

函数功能:

用于在数组中插入记录,并返回数组当前记录

函数流程图

Disp[tp,n]

8函数;voidTongji(ZGGZtp[],intn)

输入参数

ZGGZtp[]:

参数概念:

职工数据结构数组

intn:

职工工资记录的总数

输出参数;无输出参数

函数功能:

用于完成数组中记录统计工作,统计该公司职工工资的整体分布情况。

函数流程图

 

9函数;voidSort(ZGGZtp[],intn)

输入参数

ZGGZtp[]参数概念:

职工数据结构数组

intn参数概念:

第n条记录

输出参数;无返回值

函数功能:

在数组中利用冒泡排序算法实现数组的按实发工资字段的降序排序。

函数流程图

 

10函数:

voidSave(ZGGZtp[],intn)

输入参数

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("cls");

Disp(tp,n);

printf("\n=====>1Deletebynumber=====>2Deletebyname\n");

printf("pleasechoice[1,2]:

");

scanf("%d",&sel);

if(sel==1)

{

stringinput(findmess,10,"inputtheexistingemployeenumber:

");

p=Locate(tp,n,findmess,"num");

getchar();

if(p!

=-1)

{

for(i=p+1;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;

}

printf("\n==>deletesuccess!

\n");

n--;

getchar();

saveflag=1;

}

else

Nofind();

getchar();

}

elseif(sel==2)

{

stringinput(findmess,15,"inputtheexistingemployeename:

");

p=Locate(tp,n,findmess,"name");

getchar();

if(p!

=-1)

{

for(i=p+1;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;

}

printf("\n=====>deletesuccess!

\n");

n--;

getchar();

saveflag=1;

}

else

Nofind();

getchar();

}

returnn

 

(2)

/*统计公司的员工的工资在各等级的人数*/

voidTongji(ZGGZtp[],intn)

{

intcount10000=0,count5000=0,count2000=0,count0=0;

inti=0;

if(n<=0)

{

system("cls");

printf("\n=====>Notemployeerecord!

\n");

getchar();

return;

}

system("cls");

Disp(tp,n);

i=0;

while(i

{

if(tp[i].sfgz>=10000){count10000++;i=i+1;continue;}/*实发工资>10000*/

if(tp[i].sfgz>=5000){count5000++;i=i+1;continue;}/*5000<=实发工资<10000*/

if(tp[i].sfgz>=2000){count2000++;i=i+1;continue;}/*2000<=实发工资<5000*/

if(tp[i].sfgz<2000){count0++;i=i+1;continue;}/*实发工资<2000*/

}

printf("\n------------------------------theTongJiresult--------------------------------\n");

printf("sfgz>=10000:

%d(ren)\n",count10000);

printf("5000<=sfgz<10000:

%d(ren)\n",count5000);

printf("2000<=sfgz<5000:

%d(ren)\n",count2000);

printf("sfgz<2000:

%d(ren)\n",count0);

printf("-------------------------------------------------------------------------------\n");

printf("\n\npressanykeytoreturn");

getchar();

}/

}

(3)

/*

数据存盘,若用户没有专门进行此操作且对数据有修改,在退出系统时,会提示用户存盘

*/

voidSave(ZGGZtp[],intn)

{FILE*fp;

inti=0;

fp=fopen("c:

\\zggz","wb")

if(fp==NULL)

{

printf("\n=====>openfileerror!

\n");

getchar();

return;

}

for(i=0;i

{

if(fwrite(&tp[i],sizeof(ZGGZ),1,fp)==1)/*每次写一条记录或一个结构数组元素至文件*/

{

continue;

}

else

{

break;

}

}

if(i>0)

{

getchar();

printf("\n\n=====>savefilecomplete,totalsaved'srecordnumberis:

%d\n",i);

getchar();

saveflag=0;

}

else

{system("cls");

printf("thecurrentlinkisempty,noemployeerecordissaved!

\n");

getchar();

}

fclose(fp);}

 

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

当前位置:首页 > 幼儿教育 > 幼儿读物

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2