职工工资管理程序课程设计本科毕设论文.docx

上传人:b****6 文档编号:16417631 上传时间:2023-07-13 格式:DOCX 页数:23 大小:287.63KB
下载 相关 举报
职工工资管理程序课程设计本科毕设论文.docx_第1页
第1页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第2页
第2页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第3页
第3页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第4页
第4页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第5页
第5页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第6页
第6页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第7页
第7页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第8页
第8页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第9页
第9页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第10页
第10页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第11页
第11页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第12页
第12页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第13页
第13页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第14页
第14页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第15页
第15页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第16页
第16页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第17页
第17页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第18页
第18页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第19页
第19页 / 共23页
职工工资管理程序课程设计本科毕设论文.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

职工工资管理程序课程设计本科毕设论文.docx

《职工工资管理程序课程设计本科毕设论文.docx》由会员分享,可在线阅读,更多相关《职工工资管理程序课程设计本科毕设论文.docx(23页珍藏版)》请在冰点文库上搜索。

职工工资管理程序课程设计本科毕设论文.docx

职工工资管理程序课程设计本科毕设论文

青岛理工大学

《C语言程序设计》

 

题目职工工资管理程序

 

指导教师:

XXX

姓名:

XXX

学号:

XXXXX

班级:

XXXXX

专业:

软件工程

地点:

计算机工程学院机房

时间:

2014.6.30至2014.7.4

一、内容

本系统实现了职工工资的管理与查询,具有输入信息,查询信息,添加信息,删除信息以及修改信息等功能。

打开本系统后,将需要输入的信息输入,便可以进入操作界面。

按照操作界面的提示进行操作。

二、上机环境

操作系统:

Windows7旗舰版

开发工具:

Codeblocks

三、函数调用关系图

四、各函数功能说明

1.main()主函数

2.increase()文件输入函数

3.voidshow()操作界面显示函数

4.voidfound()查找函数

5.show2()显示函数

6.voidprint2(inty)删除函数

7.voidprint3()修改信息函数

 

五、算法描述或流程图

1:

found()函数

:

流程图描述:

2:

increase()函数

流程图描述

 

3:

voidprint2(inty)函数

:

流程图描述

4:

voidprint3()函数

流程图描述

六、程序运行效果图

1:

打开界面

2:

查询信息

(1):

按编号查询

(2):

按姓名查询

(3):

按工资范围查询

3:

添加信息

4:

修改信息

5:

删除信息

 

七、总结

通过本次课设,不仅成功的完成了项目,复习了一个学期来所学过的知识要点,还极大的提高了自己的动手能力,受益匪浅。

通过整日含辛茹苦的编码,第一次体验到了未来本专业工作岗位上的不易,也切身感受到了一位程序员的辛苦。

其次,本次,通过本次课设,进一步提高了自己对本专业的兴趣,利于之后的学习乃至将来的工作,以及未来的方向。

最重要的是,提高了独立分析,解决问题的能力。

另一方面,这次动手实践操作,也暴露出自己在对专业知识学习上的一些漏洞。

要点记得不踏实,重点知识未理解透彻,导致在写程序时捉襟见肘。

但这也是经验,之后的学习要引以为鉴。

八、参考文献

1:

李春葆曾平喻丹丹.《C语言程序设计教程》,清华大学出版社,2011

2:

梁力.《程序设计与C语言》,西安交通大学出版社,2010

九、程序清单

 

#include"stdio.h"

#include"string.h"

#include"stdlib.h"

#include"math.h"

#defineN1000

#defineX100

inti;

structworker//定义结构体变量

{

charnum[X];

charname[X];

inty;

doublem;

doubleaward;

}staff[N];

//===============================函数线===============================

voidincrease()//输入函数

{

inti,i2,k;

FILE*fp;//定义文件指针

charnum[X],name[X];

inty;

doublem,award;

if((fp=fopen("design.txt","a"))==NULL)//打开文件

{

printf("Cannotopenafile.\n");

exit(0);

}

for(i=0;i

{

printf("请输入教师的编号:

");//输入教师信息

scanf("%s",num);

printf("请输入教师的姓名:

");

scanf("%s",name);

printf("请输入教师的年龄:

");

scanf("%d",&y);

printf("请输入教师的工资:

");

scanf("%lf",&m);

printf("请输入教师的奖金:

");

scanf("%lf",&award);

fprintf(fp,"%s%s%d%lf%lf\n",num,name,y,m,award);

printf("是否结束输入:

\n1:

继续输入:

\n0:

结束输入:

\n");

scanf("%d",&i2);

if(i2==0)

break;

elseif(i2==1)

continue;

}

printf("输入结束。

\n\n");

fclose(fp);//关闭文件

}

//=================================================================

voidshow()//显示操作界面

{

printf("*欢迎使用职工工资管理程序*\n");

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

printf("*1:

添加信息*\n");

printf("*2:

删除信息*\n");

printf("*3:

查询信息*\n");

printf("*4:

修改信息*\n");

printf("*5:

显示信息*\n");

printf("*6:

退出系统*\n");

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

printf("请输入您要选择的操作序号,按回车键确认。

\n");

}

voidfound()

{

intj;

FILE*fp;

printf("1:

按教师编号查询\n2:

按教师姓名查询\n3:

按工资范围查询\n");

printf("请输入数字:

");

scanf("%d",&j);

charb[X],c[X],b1[X],c1[X];

doublen1,m1;

if((fp=fopen("design.txt","r"))==NULL)//打开文件

{

printf("Cannotopenafile.\n");

exit

(1);

}

switch(j)//输入数字选择要查找的条件

{

case1:

//按编号查找的情况

printf("\n请输入要查找的教师编号:

");

scanf("%s",b);

for(i=0;i

{

fscanf(fp,"%s%s%d%lf%lf",staff[i].num,staff[i].name,&staff[i].y,&staff[i].m,&staff[i].award);

if(strcmp(b,staff[i].num)==0)//检测输入名与存储名是否相同

{

if(staff[i].y==10000)

{

printf("\n该行数据已被删除。

\n");

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

break;

}

else

{

printf("\n编号\t姓名\t\t年龄\t工资\t奖金\n");

printf("%s\t%s\t\t%d\t%.0lf\t%.0lf\n",staff[i].num,staff[i].name,staff[i].y,staff[i].m,staff[i].award);

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

}

}

}

printf("\n");break;

case2:

//按姓名查找的情况

printf("请输入要查找的教师的姓名:

");

scanf("%s",c);

for(i=0;i

{

fscanf(fp,"%s%s%d%lf%lf",staff[i].num,staff[i].name,&staff[i].y,&staff[i].m,&staff[i].award);

if(strcmp(c,staff[i].name)==0)

{

if(staff[i].y==10000)

{

printf("\n该行数据已被删除。

\n");

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

break;

}

else

{

printf("\n编号\t姓名\t\t年龄\t工资\t奖金\n");

printf("%s\t%s\t\t%d\t%.0lf\t%.0lf\n",staff[i].num,staff[i].name,staff[i].y,staff[i].m,staff[i].award);

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

}

}

}

printf("\n");break;

case3:

//按工资范围查找的情况

printf("\n请输入工资范围:

");

scanf("%lf,%lf",&n1,&m1);

for(i=0;i

{

fscanf(fp,"%s%s%d%lf%lf",staff[i].num,staff[i].name,&staff[i].y,&staff[i].m,&staff[i].award);

if(staff[i].m>=n1&&staff[i].m<=m1)

{

if(staff[i].y==10000)

{

continue;

}

else

{

printf("\n编号\t姓名\t\t年龄\t工资\t奖金\n");

printf("%s\t%s\t\t%d\t%.0lf\t%.0lf\n",staff[i].num,staff[i].name,staff[i].y,staff[i].m,staff[i].award);

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

}

}

}

printf("\n");break;

default:

//不在查找范围内的情况

printf("\n结束该项操作。

\n");

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

break;

}

fclose(fp);

}

voidprint2()//删除函数

{

ints,i;

FILE*fp;

if((fp=fopen("design.txt","r"))==NULL)

{

printf("Cannotopenafile.\n");

exit(0);

}

for(i=0;i

{

fscanf(fp,"%s%s%d%lf%lf",staff[i].num,staff[i].name,&staff[i].y,&staff[i].m,&staff[i].award);

if(staff[i].y==0)

break;

}

fclose(fp);

if((fp=fopen("design.txt","w"))==NULL)//打开文件

{

printf("Cannotopenafile.\n");

exit

(1);

}

printf("请输入需要删除的职工的位数:

");

scanf("%d",&s);

staff[s-1].y=10000;

for(i=0;i

{

if(staff[i].y==0)

break;

fprintf(fp,"%s%s%d%lf%lf\n",staff[i].num,staff[i].name,staff[i].y,staff[i].m,staff[i].award);

}

printf("\n删除成功.\n\n");

fclose(fp);

}

voidprint3()//修改函数

{

inti1,i;

FILE*fp;

charb1[X];

if((fp=fopen("design.txt","r"))==NULL)//打开文件

{

printf("Cannotopenafile.\n");

exit(0);

}

for(i=0;i

{

fscanf(fp,"%s%s%d%lf%lf",staff[i].num,staff[i].name,&staff[i].y,&staff[i].m,&staff[i].award);

if(staff[i].y==0)

break;

}

fclose(fp);

printf("请输入需要修改信息的职工号:

");

while(scanf("%d",&i1)!

=EOF)

{

if((fp=fopen("design.txt","w"))==NULL)//打开文件

{

printf("Cannotopenafile.\n");

exit

(1);

}

if(i1==0)

{

printf("\n输入结束。

\n");

break;

}

else

{

if(staff[i1-1].y==10000)

{

printf("\n该行数据已被删除。

\n\n");

break;

}

printf("\n编号\t姓名\t\t年龄\t工资\t奖金\n");

printf("%s\t%s\t\t%d\t%.0lf\t%.0lf\n",staff[i1-1].num,staff[i1-1].name,staff[i1-1].y,staff[i1-1].m,staff[i1-1].award);

printf("\n请选择需要修改的选项:

");

scanf("%s",b1);

if(strcmp(b1,"编号")==0)

{

printf("\n请输入修改后的编号:

");

scanf("%s",staff[i1-1].num);

}

elseif(strcmp(b1,"姓名")==0)

{

printf("\n请输入修改后的姓名:

");

scanf("%s",staff[i1-1].name);

}

elseif(strcmp(b1,"年龄")==0)

{

printf("\n请输入修改修改后的年龄:

");

scanf("%d",&staff[i1-1].y);

}

elseif(strcmp(b1,"工资")==0)

{

printf("\n请输入修改后的工资:

");

scanf("%lf",&staff[i1-1].m);

}

elseif(strcmp(b1,"奖金")==0)

{

printf("\n请输入修改后的奖金:

");

scanf("%lf",&staff[i1-1].award);

}

for(i=0;i

{

if(staff[i].y==0)

break;

fprintf(fp,"%s%s%d%lf%lf\n",staff[i].num,staff[i].name,staff[i].y,staff[i].m,staff[i].award);

}

}

printf("\n\n若继续修改,请输入职工号,若停止修改,请输入0:

");

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

}

fclose(fp);

}

voidshow2()

{

FILE*fp;

if((fp=fopen("design.txt","r"))==NULL)

{

printf("Cannotopenafile.\n");

exit

(1);

}

printf("\n编号\t姓名\t\t年龄\t工资\t奖金\n");

for(i=0;i

{

fscanf(fp,"%s%s%d%lf%lf",staff[i].num,staff[i].name,&staff[i].y,&staff[i].m,&staff[i].award);

if(staff[i].y==0)

{

break;

}

printf("%s\t%s\t\t%d\t%.0lf\t%.0lf\n",staff[i].num,staff[i].name,staff[i].y,staff[i].m,staff[i].award);

}

fclose(fp);

}

//=================================================================

intmain()//主程序

{

intj,s,n2,t,k;

chary[X],d[X],r[X];

inti1,i2,i3;

chary1[X];

printf("*职工工资管理程序*\n");

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

while

(1)

{

show();

scanf("%d",&n2);

printf("\n");

switch(n2)

{

case1:

{increase();}break;//执行添加工作

case2:

{print2();}break;//执行删除工作

case3:

{found();}break;//执行查找工作

case4:

{print3();}break;//执行修改工作

case5:

{show2();}break;//执行显示工作

case6:

{printf("\n您已退出系统。

\n");}break;//执行退出工作

default:

printf("输入不符合要求。

");break;

}

if(n2==6)

break;

printf("\n是否继续操作:

\n1:

继续操作\n0:

结束操作\n请输入序号:

");

scanf("%d",&i3);

if(i3==1)

continue;

elseif(i3==0)

{

printf("\n您已退出系统。

\n");

break;

}

}

return0;

}

 

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

当前位置:首页 > 求职职场 > 简历

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

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