职工工资管理程序课程设计本科毕设论文.docx
- 文档编号:28452498
- 上传时间:2023-07-13
- 格式:DOCX
- 页数:23
- 大小:287.63KB
职工工资管理程序课程设计本科毕设论文.docx
《职工工资管理程序课程设计本科毕设论文.docx》由会员分享,可在线阅读,更多相关《职工工资管理程序课程设计本科毕设论文.docx(23页珍藏版)》请在冰豆网上搜索。
职工工资管理程序课程设计本科毕设论文
青岛理工大学
《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; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 职工工资 管理程序 课程设计 本科 论文