C语言课设职工工资管理系统Word格式文档下载.docx
《C语言课设职工工资管理系统Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《C语言课设职工工资管理系统Word格式文档下载.docx(42页珍藏版)》请在冰点文库上搜索。
![C语言课设职工工资管理系统Word格式文档下载.docx](https://file1.bingdoc.com/fileroot1/2023-5/11/f1fd54c0-27c4-4471-b9ea-cf9735e1c99a/f1fd54c0-27c4-4471-b9ea-cf9735e1c99a1.gif)
通过此次课设可以锻炼学生理论联系实际能力,提高学生适应实际、实践编程的能力,使对C语言系统编程有一个大致的了解,并达到如下目的:
1.熟悉C语言程序的编辑、编译链接和运行的过程。
2.熟练运用if语句和switch语句以及嵌套应用。
3.学习并掌握C语言定义函数的基本方法、声明函数及调用函数的方法和过程。
4.掌握文件的概念以及文件的定义方法,认识文件打开、关闭、读、写等文件基本操作函数。
5.掌握结构体类型变量、数组的定义和使用。
6.掌握数组的定义、引用以及输入输出的方法、通过字符数组存储字符串,进一步使用字符串。
二系统总体设计
2.1程序功能
(1)添加职工信息
(2)查看职工信息(3)查找职工信息(4)删除职工信息(5)统计职工信息(6)修改职工信息(7)保存数据(8)作者信息(0)退出
2.2程序功能图
职工工资管理系统
作者信息
保存数据
修改职工信息
查看职工信息
查找职工信息
删除职工信息
退出
统计职工信息
添加职工信息
图1程序功能图
2.3主函数流程图
图2程序流程图
主函数源代码:
voidmain()
{
intchoose=0。
while(true)
{
show()。
printf("
\t\t====>
请选择:
"
)。
scanf("
%d"
&
choose)。
system("
cls"
switch(choose)
case0:
exit(0)。
//退出
break。
case1:
add()。
back()。
//添加职工信息
case2:
see()。
//查看职工信息
case3:
search()。
//查找职工信息
case4:
del()。
//删除职工信息
case5:
statistics()。
//统计职工工资
case6:
modify()。
//修改职工信息
case7:
reserve()。
//保存数据
case8:
author()。
//作者信息
default:
}
fflush(stdin)。
getchar()。
三程序详细设计
3.1添加职工信息函数的实现
添加记录前如图3所示。
图3添加记录前效果图
输入两条记录信息:
选择1,回车。
输入记录如图4所示。
图4输入记录效果图
添加后如图5所示。
图5添加记录后效果图
添加函数代码流程图,如图6所示。
图6添加函数流程图
添加源代码:
voidadd()
intnumberTemp=0。
inti=0。
structworkertemp。
请输入要添加职工个数:
numberTemp)。
for(i=0。
i<
numberTemp。
i++)
输入第%d个职工信息\n"
i+1)。
姓名:
%s"
temp.name)。
工号:
temp.ID)。
基本工资:
temp.salary1)。
职务工资:
temp.salary2)。
津贴:
temp.salary3)。
wo[Number++]=temp。
//写入到数组
bc(&
temp)。
//写入到文件
添加成功\n"
3.2查看职工信息函数的实现
查看记录前如图7所示。
图7查看记录前效果图
输入一条记录信息:
如图8所示:
图8输入记录效果图
查看记录后如图9所示。
图9查看记录后效果图
查看函数代码流程图,如图10所示。
图10查看函数流程图
查看源代码:
voidsee()
以下是全部职工\n"
\t姓名\t工号\t基本工资\t职务工资\t津贴\n"
while(i<
Number)
\t%s\t%s\t%d\t\t%d\t\t%d\n"
wo[i].name,wo[i].ID,wo[i].salary1,wo[i].salary2,wo[i].salary3)。
i++。
3.3查找职工信息函数的实现
查找记录前如图11所示。
图11查找记录前效果图
选择3,回车
如图12所示。
图12输入记录效果图
查找记录后如图13所示。
图13查找记录后效果图
查找函数代码流程图,如图14所示。
图14查找函数流程图
查找源代码:
//查找职工信息
voidsearch()
intn=0。
1按姓名查找\n"
2按工号查找\n"
n)。
switch(n)
xmcz()。
ghcz()。
printf("
输入错误!
\n"
}
voidxmcz()//按姓名查找
charname[30]。
请输入要查找职工姓名:
name)。
for(i=0。
Number。
if(strcmp(name,wo[i].name)==0)
voidghcz()//按工号查找
charid[10]。
请输入要查找职工工号:
id)。
if(strcmp(id,wo[i].ID)==0)
3.4删除职工信息函数的实现
删除记录前如图15所示。
图15删除记录前效果图
选择4,回车后,如图16所示:
图16输入记录效果图
删除记录后如图17所示。
图17删除记录后效果图
删除函数代码流程图,如图18所示。
图18删除函数流程图
删除源代码:
voiddel()
1按姓名删除\n"
2按工号删除\n"
xmsc()。
ghsc()。
voidxmsc()//按姓名删除
FILE*fp=NULL。
intj=0。
请输入要删除的职工姓名:
for(j=i。
j<
Number-1。
j++)
wo[j]=wo[j+1]。
Number--。
//将剩余数据写入文件擦除以前的数据
fp=fopen("
C:
//worker.dat"
"
wb"
fwrite(&
wo[i],sizeof(structworker),1,fp)。
fclose(fp)。
删除成功。
voidghsc()//按工号删除
charid[60]。
请输入要删除的职工工号:
if(strcmp(id,wo[i].ID)==0)
3.5统计职工工资函数的实现
统计记录前如图19所示。
图19统计记录前效果图
如图20所示:
图20输入记录效果图
统计记录后如图21所示。
图21统计后前效果图
统计函数代码流程图,如图22所示。
图22统计函数流程图
统计源代码:
voidstatistics()
doubles=0.0。
doublesum[100]。
sum[i]=wo[i].salary1+wo[i].salary2+wo[i].salary3。
%s的总工资为:
%f\n"
wo[i].name,sum[i])。
s+=sum[i]。
平均工资为:
s/Number)。
3.6修改函数的实现
修改记录前如图23所示。
图23修改记录前效果图
如图24所示:
图24输入记录效果图
修改记录后如图25所示。
图25修改记录后效果图
修改函数代码流程图,如图26所示。
图26修改函数流程图
修改源代码:
voidmodify()
intmode=0。
请选择修改查找方式\n"
1按姓名查找修改\n"
2按工号查找修改\n"
mode)。
switch(mode)
xmxg()。
ghxg()。
voidxmxg()//按姓名修改
请输入要修改的职工姓名:
if(strcmp(name,wo[i].name))。
else
请重新输入该职工信息"
wo[i].name)。
wo[i].ID)。
wo[i].salary1)。
wo[i].salary2)。
wo[i].salary3)。
//信息修改后重新更新文件里面的数据以保持数据一致性
voidghxg()//按工号修改
charid[30]。
请输入要修改的职工工号:
if(strcmp(id,wo[i].ID))。
\t=======>
修改成功\n"
3.7保存数据函数的实现
保存记录前如图27所示。
图27保存记录前效果图
图28输入记录效果图
保存记录后如图29所示。
图29保存记录后效果图
保存源代码:
//保存数据
voidreserve()
\t=====程序在运行时已自动保存.....\n"
voidback()
\t===>
按Enter键返回主菜单\n"
3.8作者信息函数的实现
作者记录前如图30所示。
图30作者记录前效果图
如图31所示:
图31输入记录效果图
作者记录后如图32所示。
图32作者记录后效果图
作者源代码:
voidauthor()
\t***☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆***\n\n"
\t^^^^^^^^^^^^^^^铜陵学院^^^^^^^^^^^^^^^\n\n"
\t^^^^^^^^^^^^^^^信息管理与信息系统^^^^^^^^^^^^^^^\n\n"
\t^^^^^^^^^^^^^^***制作^^^^^^^^^^^^^^\n\n"
\t***★★★★★★★★★★★★★★★★***\n\n"
3.9退出程序
操作前如图33所示。
图33作者记录前效果图
如图34所示:
图34输入记录效果图
回车后:
如图35所示
按任意键即可退出。
图35输入记录后效果图
四总结
通过这几天的努力,职工工资管理系统的设计已基本完成。
在本次课程设计中,我充分领略了C语言功能的强大,包括函数、数组、指针、结构体、文件等。
职工工资管理系统是一个很实用并且使用广泛的操作系统。
此系统可以减少很多工作量,做到设计合理,便于使用,易于操作。
界面友好,容错性高,可在很短的时间内,查找出所需的职工工资资料,提高工作效率。
该系统具有添加、显示、查询、修改、删除等基本功能,以方便对工资的各项管理操作。
每一条记录包括一个职工的工号、姓名、工资等信息,系统的各个功能模块都用函数的形式来实现,可以将职工信息保存在文件中,并从文件中读取出来。
总的来说,通过这次程序设计,使我加深了对C语言的认识,进一步熟悉了对C语言功能的灵活运用,而且加深了我对程序的理解和编写能力,通过文献资料和网络资料的帮助,使我对C语言程序设计这一基础学科又一次加深了认识,也意识到了其具有的强大功能和发展前景。
这会对以后的学习有所帮助。
参考文献
[1]谭浩强,张基温.C语言程序设计教程[M].第3版.高等教育出版社,2006
[2]杨涛.C程序设计语言.北京:
机械工业出版社,2004
[3]全国计算机等级考试二级教程:
C语言程序设计(2009年版).高等教育出版社
附录
#include<
stdio.h>
stdlib.h>
string.h>
structworker
charID[10]。
intsalary1,salary2,salary3。
}。
intdq(structworkerwo[])。
voidshow()。
voidbc(structworkerwo[])。
voidadd()。
voidsee()。
voidsearch()。
voidghcz()。
voidxmcz()。
voiddel()。
voidxmsc()。
voidghsc()。
voidstatistics()。
voidmodify()。
voidghxg()。
voidxmxg()。
voidreserve()。
voidback()。
voidauthor()。
structworkerwo[100]。
//保存所有的职工信息
intNumber=0。
//记录总的职工人数
getchar(