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



《C课程设计(职工工资管理说明书)正文》由会员分享,可在线阅读,更多相关《C课程设计(职工工资管理说明书)正文(20页珍藏版)》请在装配图网上搜索。
1、编号: 时间:2021年x月x日 书山有路勤为径,学海无涯苦作舟 页码:第19页 共20页 1. 引言 1.1 如何解决职工工资的分发问题 现如今我们进入了二十一世纪,信息技术越趋变为人们生活中不可缺少的抽象资源!大公司人员众多,工资分发问题艰难,而编程人员专为其设计的职工工资管理系统解决了这一难题! 网络化就是通过网络将人们联系在一起,一起解决问题,一起分享资源!将复杂的问题分解开,然后组合在一起! 1.2国内外研究的现状 国外在发展网络的时间比我们早,也比我们快!而我们作为发展迅速的发展中国家,我们的人力资源丰富,而且出现不少的优秀人才,为我国的网络事业做出了巨
2、大的贡献!因而我们有信心且有实力追上他们且赶过他们! 1.3任务与分析 本次课程的主要任务是编出一个程序来解决日常生活中一些问题!我们将要编的程序是一个关于如何解决一些大公司中职工工资分发系统!在大公司中人员多,资金数量大,需要一个简单,容易的方法来处理工资分发问题,现在是信息时代,不在像以前了体力劳动为主,现在要用脑解决问题! 我们将用我大一学的知识来解决问题!如:链表,结构数组,以及函数!根据其不通的功能一起来解决问题! 2. 程序的主要功能 2.1职工工资信息录入功能 添加职工的基本信息:如其编号,姓名,每月固定工资,其它浮动工资,应该扣除的杂费! 2.2职工工资信息浏
3、览 进入职工工资管理系统中按照菜单上的提示可以浏览职工信息及输出。 2.3职工工资信息删除 在职工工资管理系统可以对职工信息删除! 2.4查询和排序功能 通过查找输入编号可以查询任意职工的 全部信息,还可以进行排序功能! 3. 系统设计 主 函 数 输入信息入加信息 输出信息信息 删除信息信息 保存信息息 查找信息信息 排序信息信息 系统总体框架图如图 4. 模块分析及说明 4.1主程序模块 这是主控制模块它调用,修改职工工资信息模块. 其原代码如下: void main() { char ch;
4、 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; } }
5、 printf("\n欢迎使用!!!\n"); } 4.2 菜单模块 包括对职工工资及本人信息的编辑,并调用其它功能模块: 其原代码如下: void menu() { 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:保 存
6、信 息\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输入模块 输入职工的基本信息!包括工资,编号姓名等!! void input() { int i; FILE *fp; if((fp=fopen("sta_dat","wb"))==NULL) {printf("can't open file!\n");exit(0);
7、}
printf("NO name bu_m gu_d fu_d bu_t shui_f bao_x dai_j\n" );
for(i=0;i 8、taf[i].bao_x,&staf[i].dai_j);
fwrite(&staf[i],sizeof(struct staff ),1,fp); //将成绩信息写入文件
}
}
4.4输出模块
输出职工的基本信息!包括工资,编号姓名等!!
//职工信息输出:
void print()
{
int i;
printf("职工信息输出:\n");
FILE *fp;
if((fp=fopen("sta_dat","rb"))==NULL)
{
printf("cannot open fil 9、e \n");
return;
}
for(i=0;i 10、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 11、- staf[i].shui_f-staf[i].bao_x-staf[i].dai_j);
}
getch();
}
4.5删除文件
将信息删除
输入m
m=staf[i].num
n=0
n=1
n==1
i=1
i<3
输出职工信息
结束
开始
NO
YES
NO
YES
NO
YES
其源码如下:
//职工信息删除:
void clean()
{ FILE *fp;
int i,j,m,n=0;
printf("职工信息删除:\n");
pri 12、ntf("删除的数m=:\n");
scanf("%d",&m);
if((fp=fopen("sta_dat","rb"))==NULL)
{
printf("cannot open file \n");
return;
}
for(i=0;i 13、{ n=0;break;}
}
if(n==0)
{
for(j=i;j 14、[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[ 15、i].dai_j);
}
else
printf("connot found!");getch();
}
4.6保存文件
将文件保存。
//职工信息存盘:
void save()
{
FILE *fp;
int i;
if((fp=fopen("sta.dat","wb"))==NULL)
{
printf("cannot open file \n");
return;
}
for(i=1;i 16、eof(struct staff),1,fp)!=1)
printf("file write error\n");
fclose(fp);
}
4.7查找模块
流程图如下:
输入m
m=staf[i].num
n=0
n=1
n==1
i=1
i<2
输出职工信息
结束
开始
NO
YES
NO
YES
NO
YES
源码如下:
//职工信息查找:
void search()
{printf("职工信息查找:\n");
FILE *fp;
int i ,m,n=0;
prin 17、tf("查找的数m=:\n");
scanf("%d",&m);
if((fp=fopen("sta_dat","rb"))==NULL)
{
printf("cannot open file \n");
return;
}
for(i=1;i 18、 else
{ n=0;break;}
}
if(n==0)
{ printf("NO name bu_m gu_d fu_d bu_t ying_f shui_f bao_x dai_j kou_k shi_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, 19、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("cannot found!" 20、);getch();
}
4.8查找模块
4.9排序模块
源码如下:
//职工信息排序:
void order()
{
printf("职工信息排序:\n");
int i,j,k;
FILE *fp;
struct staff sta;
if((fp=fopen("sta.dat","rb"))==NULL)
{
printf("cannot open file \n"); return;
}
for(i=1;i 21、sizeof(struct staff),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 22、
sta=staf[i];
staf[i]=staf[k];
staf[k]=sta;
}
}
printf("NO name bu_m gu_d fu_d bu_t ying_f shui_f bao_x dai_j kou_k shi_f\n" );
for(i=1;i 23、m ,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_ 24、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 退出
结论
该程序能进行职工信息的输入和 25、输出,删除,查找,排序等功能,使职工信息明确,便于查看。
通过这次课程设计,我了解了很多实用的东西,并进一步掌握了C语言进行软件设计的过程,为以后用各种语言编辑软件指引了方向。设计出此软件也让我明白要有坚持不懈的精神和积极进取的动力,面对设计中的各种困难一定要查阅资料和询问老师,并且合作是不可缺少的,团队合作的力量超乎我们的想象,设计软件也是一个学习的过程,一步一步地提高自己的能力及知识面。
参考文献
[1]谭浩强.程序设计题解与上机指导 [M].北京:清华大学出版社.2005.
[2]黄明,梁旭等编撰的C语言程序设计 [M].北京:电子出版社.2006.
[3]陈清华. VISUAL C++课程设计案例与编程指导[M].南京:东南大学出版社.2000.
[4]李春葆.C语言习题与解析A级 [M] .北京:人民出版社.1994.
第 19 页 共 20 页
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年水电工程运行维护管理合同示范文本.docx
- 2025年工程勘测设计合同模板.docx
- 2025年区域产品销售代理合同.docx
- 2025年经销商授权合同样本.docx
- 2025年员工住房资金借贷合同.docx
- 2025年轻钢建筑施工合同示例.docx
- 2025年网络推广托管合同.docx
- 2025年简明个人借款正式合同范例.docx
- 2025年房产按揭贷款合同范例.docx
- 2025年技术合同争议调解.docx
- 2025年电子版城市住宅租赁合同范本.docx
- 2025年简易转让合同协议书样本.docx
- 2025年投资顾问服务合同实例.docx
- 2025年经销合同模板.docx
- 2025年工业项目设计合同样本.docx