C课程设计职工工资管理说明书正文.docx

上传人:b****6 文档编号:13711020 上传时间:2023-06-16 格式:DOCX 页数:17 大小:175.54KB
下载 相关 举报
C课程设计职工工资管理说明书正文.docx_第1页
第1页 / 共17页
C课程设计职工工资管理说明书正文.docx_第2页
第2页 / 共17页
C课程设计职工工资管理说明书正文.docx_第3页
第3页 / 共17页
C课程设计职工工资管理说明书正文.docx_第4页
第4页 / 共17页
C课程设计职工工资管理说明书正文.docx_第5页
第5页 / 共17页
C课程设计职工工资管理说明书正文.docx_第6页
第6页 / 共17页
C课程设计职工工资管理说明书正文.docx_第7页
第7页 / 共17页
C课程设计职工工资管理说明书正文.docx_第8页
第8页 / 共17页
C课程设计职工工资管理说明书正文.docx_第9页
第9页 / 共17页
C课程设计职工工资管理说明书正文.docx_第10页
第10页 / 共17页
C课程设计职工工资管理说明书正文.docx_第11页
第11页 / 共17页
C课程设计职工工资管理说明书正文.docx_第12页
第12页 / 共17页
C课程设计职工工资管理说明书正文.docx_第13页
第13页 / 共17页
C课程设计职工工资管理说明书正文.docx_第14页
第14页 / 共17页
C课程设计职工工资管理说明书正文.docx_第15页
第15页 / 共17页
C课程设计职工工资管理说明书正文.docx_第16页
第16页 / 共17页
C课程设计职工工资管理说明书正文.docx_第17页
第17页 / 共17页
亲,该文档总共17页,全部预览完了,如果喜欢就下载吧!
下载资源
资源描述

C课程设计职工工资管理说明书正文.docx

《C课程设计职工工资管理说明书正文.docx》由会员分享,可在线阅读,更多相关《C课程设计职工工资管理说明书正文.docx(17页珍藏版)》请在冰点文库上搜索。

C课程设计职工工资管理说明书正文.docx

C课程设计职工工资管理说明书正文

1.引言

1.1如何解决职工工资的分发问题

现如今我们进入了二十一世纪,信息技术越趋变为人们生活中不可缺少的抽象资源!

大公司人员众多,工资分发问题艰难,而编程人员专为其设计的职工工资管理系统解决了这一难题!

网络化就是通过网络将人们联系在一起,一起解决问题,一起分享资源!

将复杂的问题分解开,然后组合在一起!

1.2国内外研究的现状

国外在发展网络的时间比我们早,也比我们快!

而我们作为发展迅速的发展中国家,我们的人力资源丰富,而且出现不少的优秀人才,为我国的网络事业做出了巨大的贡献!

因而我们有信心且有实力追上他们且赶过他们!

1.3任务与分析

本次课程的主要任务是编出一个程序来解决日常生活中一些问题!

我们将要编的程序是一个关于如何解决一些大公司中职工工资分发系统!

在大公司中人员多,资金数量大,需要一个简单,容易的方法来处理工资分发问题,现在是信息时代,不在像以前了体力劳动为主,现在要用脑解决问题!

我们将用我大一学的知识来解决问题!

如:

链表,结构数组,以及函数!

根据其不通的功能一起来解决问题!

2.程序的主要功能

2.1职工工资信息录入功能

添加职工的基本信息:

如其编号,姓名,每月固定工资,其它浮动工资,应该扣除的杂费!

2.2职工工资信息浏览

进入职工工资管理系统中按照菜单上的提示可以浏览职工信息及输出。

2.3职工工资信息删除

在职工工资管理系统可以对职工信息删除!

2.4查询和排序功能

通过查找输入编号可以查询任意职工的全部信息,还可以进行排序功能!

3.系统设计

系统总体框架图如图

4.模块分析及说明

4.1主程序模块

这是主控制模块它调用,修改职工工资信息模块.

其原代码如下:

voidmain()

{

charch;

while

(1)

{

menu();//显示菜单

ch=getchar();//选择菜单

if(ch=='0')break;

switch(ch)//判断功能项

{

case'1':

input();break;

case'2':

print();break;

case'3':

clean();break;

case'4':

save();break;

case'5':

search();break;

case'6':

order();break;

case'0':

break;

}

}

printf("\n欢迎使用!

!

!

\n");

}

4.2菜单模块

包括对职工工资及本人信息的编辑,并调用其它功能模块:

其原代码如下:

voidmenu()

{

system("cls");

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

printf("\t\t\t\t*主菜单选项*\n\n");

printf("\t\t\t\t1:

创建工资档案\n");

printf("\t\t\t\t2:

输出工资信息\n");

printf("\t\t\t\t3:

删除工资信息\n");

printf("\t\t\t\t4:

保存信息\n");

printf("\t\t\t\t5:

查找工资信息\n");

printf("\t\t\t\t6:

信息列表排序\n");

printf("\t\t\t\t0:

退出\n");

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

}

4.3输入模块

输入职工的基本信息!

包括工资,编号姓名等!

voidinput()

{

inti;

FILE*fp;

if((fp=fopen("sta_dat","wb"))==NULL){printf("can'topenfile!

\n");exit(0);}

printf("NOnamebu_mgu_dfu_dbu_tshui_fbao_xdai_j\n");

for(i=0;i

{

scanf("%d",&staf[i].num);

scanf("%s",staf[i].name);

scanf("%s",staf[i].bu_m);

scanf("%d%d%d",&staf[i].gu_d,&staf[i].fu_d,&staf[i].bu_t);

scanf("%d%d%d",&staf[i].shui_f,&staf[i].bao_x,&staf[i].dai_j);

fwrite(&staf[i],sizeof(structstaff),1,fp);//将成绩信息写入文件

}

}

4.4输出模块

输出职工的基本信息!

包括工资,编号姓名等!

//职工信息输出:

voidprint()

{

inti;

printf("职工信息输出:

\n");

FILE*fp;

if((fp=fopen("sta_dat","rb"))==NULL)

{

printf("cannotopenfile\n");

return;

}

for(i=0;i

fread(&staf[i],sizeof(structstaff),1,fp);

fclose(fp);

printf("NOnamebu_mgu_dfu_dbu_tying_fshui_fbao_xdai_jkou_kshi_f\n");

for(i=0;i

{

printf("%d%s%s%d%d%d%d%d%d%d%d%d\n",

staf[i].num,staf[i].name,

staf[i].bu_m,staf[i].gu_d,staf[i].fu_d,staf[i].bu_t,

staf[i].gu_d+staf[i].fu_d+staf[i].bu_t,

staf[i].shui_f,staf[i].bao_x,staf[i].dai_j,

staf[i].shui_f+staf[i].bao_x+staf[i].dai_j,

staf[i].gu_d+staf[i].fu_d+staf[i].bu_t-staf[i].shui_f-staf[i].bao_x-staf[i].dai_j);

}

getch();

}

4.5删除文件

将信息删除

其源码如下:

//职工信息删除:

voidclean()

{FILE*fp;

inti,j,m,n=0;

printf("职工信息删除:

\n");

printf("删除的数m=:

\n");

scanf("%d",&m);

if((fp=fopen("sta_dat","rb"))==NULL)

{

printf("cannotopenfile\n");

return;

}

for(i=0;i

fread(&staf[i],sizeof(structstaff),1,fp);

fclose(fp);

for(i=0;i

{

if(m!

=staf[i].num)

n=1;

else

{n=0;break;}

}

if(n==0)

{

for(j=i;j

staf[j]=staf[j+1];

printf("NOnamebu_mgu_dfu_dbu_tying_fshui_fbao_xdai_jkou_kshi_f\n");

for(i=0;i

printf("%d%s%s%d%d%d%d%d%d%d%d%d\n",

staf[i].num,staf[i].name,

staf[i].bu_m,staf[i].gu_d,staf[i].fu_d,staf[i].bu_t,

staf[i].gu_d+staf[i].fu_d+staf[i].bu_t,

staf[i].shui_f,staf[i].bao_x,staf[i].dai_j,

staf[i].shui_f+staf[i].bao_x+staf[i].dai_j,

staf[i].gu_d+staf[i].fu_d+staf[i].bu_t-staf[i].shui_f-staf[i].bao_x-staf[i].dai_j);

}

else

printf("connotfound!

");getch();

}

4.6保存文件

将文件保存。

//职工信息存盘:

voidsave()

{

FILE*fp;

inti;

if((fp=fopen("sta.dat","wb"))==NULL)

{

printf("cannotopenfile\n");

return;

}

for(i=1;i

if(fwrite(&staf[i],sizeof(structstaff),1,fp)!

=1)

printf("filewriteerror\n");

fclose(fp);

}

4.7查找模块

流程图如下:

源码如下:

//职工信息查找:

voidsearch()

{printf("职工信息查找:

\n");

FILE*fp;

inti,m,n=0;

printf("查找的数m=:

\n");

scanf("%d",&m);

if((fp=fopen("sta_dat","rb"))==NULL)

{

printf("cannotopenfile\n");

return;

}

for(i=1;i

fread(&staf[i],sizeof(structstaff),1,fp);

fclose(fp);

for(i=1;i

{if(m!

=staf[i].num)

n=1;

else

{n=0;break;}

}

if(n==0)

{printf("NOnamebu_mgu_dfu_dbu_tying_fshui_fbao_xdai_jkou_kshi_f\n");

printf("%d%s%s%d%d%d%d%d%d%d%d%d\n",

staf[i].num,staf[i].name,

staf[i].bu_m,staf[i].gu_d,staf[i].fu_d,staf[i].bu_t,

staf[i].gu_d+staf[i].fu_d+staf[i].bu_t,

staf[i].shui_f,staf[i].bao_x,staf[i].dai_j,

staf[i].shui_f+staf[i].bao_x+staf[i].dai_j,

staf[i].gu_d+staf[i].fu_d+staf[i].bu_t-staf[i].shui_f-staf[i].bao_x-staf[i].dai_j);

}

else

printf("cannotfound!

");getch();

}

4.8查找模块

4.9排序模块

源码如下:

//职工信息排序:

voidorder()

{

printf("职工信息排序:

\n");

inti,j,k;

FILE*fp;

structstaffsta;

if((fp=fopen("sta.dat","rb"))==NULL)

{

printf("cannotopenfile\n");return;

}

for(i=1;i

{fread(&staf[i],sizeof(structstaff),1,fp);

staf[i].shi_f=staf[i].gu_d+staf[i].fu_d+staf[i].bu_t-staf[i].shui_f-staf[i].bao_x-staf[i].dai_j;}

fclose(fp);

for(i=1;i

{

k=i;

for(j=i+1;j

if(staf[k].shi_f>staf[j].shi_f)

k=j;

if(k!

=i)

{

sta=staf[i];

staf[i]=staf[k];

staf[k]=sta;

}

}

printf("NOnamebu_mgu_dfu_dbu_tying_fshui_fbao_xdai_jkou_kshi_f\n");

for(i=1;i

printf("%d%s%s%d%d%d%d%d%d%d%d%d\n",

staf[i].num,staf[i].name,

staf[i].bu_m,staf[i].gu_d,staf[i].fu_d,staf[i].bu_t,

staf[i].gu_d+staf[i].fu_d+staf[i].bu_t,

staf[i].shui_f,staf[i].bao_x,staf[i].dai_j,

staf[i].shui_f+staf[i].bao_x+staf[i].dai_j,

staf[i].gu_d+staf[i].fu_d+staf[i].bu_t-staf[i].shui_f-staf[i].bao_x-staf[i].dai_j);

getch();

}

5.比较有特色的函数

1、define宏观定义函数,让复杂而多的说明性东西简单化!

2、对结构体函数也得到很好的应用,使较大的程规模集中放到一个头文件中,这样便于装配,便于修改,便于使用。

3、文件的使用程序更加清晰,能够提高程序的运行。

6.程序测试

如下图所展示:

图6-1主界面

 

图6-2输入信息

 

图6-3输出信息

图6-4删除信息

图6-5查找信息

图6-6排序信息

图6-7退出

结论

该程序能进行职工信息的输入和输出,删除,查找,排序等功能,使职工信息明确,便于查看。

通过这次课程设计,我了解了很多实用的东西,并进一步掌握了C语言进行软件设计的过程,为以后用各种语言编辑软件指引了方向。

设计出此软件也让我明白要有坚持不懈的精神和积极进取的动力,面对设计中的各种困难一定要查阅资料和询问老师,并且合作是不可缺少的,团队合作的力量超乎我们的想象,设计软件也是一个学习的过程,一步一步地提高自己的能力及知识面。

参考文献

[1]谭浩强.程序设计题解与上机指导[M].北京:

清华大学出版社.2005.

[2]黄明,梁旭等编撰的C语言程序设计[M].北京:

电子出版社.2006.

[3]陈清华.VISUALC++课程设计案例与编程指导[M].南京:

东南大学出版社.2000.

[4]李春葆.C语言习题与解析A级[M].北京:

人民出版社.1994.

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

当前位置:首页 > 成人教育 > 自考

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

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