ImageVerifierCode 换一换
格式:DOCX , 页数:27 ,大小:175.86KB ,
资源ID:7910564      下载积分:12 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/7910564.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(职工工资管理系统.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

职工工资管理系统.docx

1、职工工资管理系统课 程 设 计 报 告 课程设计名称 C语言课程设计 专 业 计算机科学与技术 班 级 4 班 学 号 10030405 姓 名 康 强 指导教师 许艺枢 成 绩 2012年7月10日 目录一、设计任务与要求 11.1 设计任务与要求 11.2 选题目的与意义 1二、需求分析 22.1 用户需求 22.2 开发环境 2三、系统概要设计 23.1 系统总体设计 23.2 功能模块设计 33.3各功能函数的设计 3四、详细设计 94.1 程序流程图 94.2 关键算法与技术实现 11五、测试运行 125.1 系统测试方案 125.2 运行结果分析 14六、设计体会 15主要参考文献

2、 15附录 16一、设计任务与要求1.1 设计任务与要求本课程设计是计算机科学与技术专业重要的实践性环节之一,是在学生学习完程序设计语言(C)课程后进行的一次全面的综合练习。本课程设计的目的和任务: 1. 巩固和加深学生对C语言课程的基本知识的理解和掌握 2. 掌握C语言编程和程序调试的基本技能 3. 利用C语言进行基本的软件设计 4. 掌握书写程序设计说明文档的能力 5. 提高运用C语言解决实际问题的能力1.2 选题目的与意义随着高等学校的快速发展,高校规模越来越大,教职工的数量也越来越多,高校工资管理更加的复杂,而工资管理是一项琐碎、复杂而又十分细致的工作,工资计算、发放、核算的工作量很大

3、,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处理,同时计算机具有着手工管理所无法比拟的优点.例如:检索迅速、查找方便、可靠性高、存储量大、保密性好、寿命长、成本低等。这些优点能够极大地提高人事工资资管理的效率,也是企业的科学化、正规化管理,与世界接轨的重要条件。这就对高校工资管理提出了新的要求,用计算机管理系统来管理高校工资已经成为目前的趋势,使用计算机可以高速,快捷地完成以上工作。在计

4、算机联网后,数据在网上传递,可以实现数据共享,避免重复劳动,规范数据管理行为,从而提高了管理效率和水平。高校工资管理系统便是以计算机为工具,通过对工资管理所需的信息管理,不仅把管理人员从繁琐的数据计算处理中解脱出来,而且优化了管理体系,使其高效化,简易化,智能化,也提高了透明度和互动性。二、需求分析2.1 用户需求 编写该文档是为了分析人工管理高校工资的流程,把人工模式抽象为可在计算机上处理的自动模式,对高校工资的科学管理进行分析与总结,便于开发小组成员对系统整体功能的认识,通过该文档,确定了系统的目的和功能,以及管理的流程和方法,同时也为使用者提供参考。2.2 开发环境Microsoft V

5、isual C+ 6.0、2008;TC等三、系统概要设计3.1 系统总体设计本系统具有职工的工资基本信息(职工号、姓名、应发工资、奖金、水电费、公积金、医疗保险、扣款合计、实发工资),能够根据需要添加、查询、修改、删除、统计并浏览职工的工资信息。具体功能如下:初始化信息(职工信息的输入,包括职工号、姓名、应发工资、奖金、水电费、公积金、医疗保险) ;添加职工信息(继续添加职工的信息,要求职工号不重复);根据职工号查询(完成按职工号查询指定职工的工资信息);根据职工号修改(完成按职工号修改指定职工的工资信息);根据职工号删除(完成按职工号删除指定职工的工资信息);统计并浏览(完成扣款合计和实发

6、工资的统计,并显示所有职工的工资信息);退出(退出系统)。 (提示:在使用字符界面的菜单编程时,需要清屏,可以使用system(cls)函数将屏幕清屏。需要退出系统时,可以使用exit(0)函数退出。需要暂停程序的执行时,可以使用system(pause)函数暂停。使用这些函数时应包含stdlib.h系统函数头文件。) 3.2 功能模块设计3.3各功能函数的设计1、主函数void main()/*主函数,主界面* int xz; do system(cls); /清屏,清除屏幕上的所有信息 printf( tt*n); printf( tt* 工资管理系统 *n); printf( tt* 1

7、-初始化信息 *n); printf( tt* 2-添加职工信息 *n); printf( tt* 3-根据职工号查询 *n); printf( tt* 4-根据职工号修改 *n); printf( tt* 5-根据职工号删除 *n); printf( tt* 6-统计并浏览 *n); printf( tt* 7-退出 *n); printf( tt*n); printf( tt输入您的选择(1-7):); scanf(%d,&xz); switch(xz) case 1:csh(); break; /执行子函数csh(完成初始化功能) case 2:zjxx(); break; /执行子函数

8、zjxx(完成添加职工信息) case 3:cx();break; /执行子函数cx(完成根据职工号查询) case 4:xg();break; /执行子函数xg(完成根据职工号修改) case 5:sc(); break; /执行子函数sc(完成根据职工号删除) case 6:tjll(); break; /执行子函数tjll(完成统计并浏览) case 7:printf(n-谢谢,欢迎下次光临!-nn); default:exit(0); /退出系统,exit(0)函数功能是退出程序。 while(1);2、添加void zjxx() /*添加职工信息* char i; system(cl

9、s); printf(请输入第%d个职工信息n,count); printf(输入职工号:n); scanf(%d,&workcount.zgh); printf(输入姓名:n); scanf(%s,workcount.xm); printf(输入应发工资:n); scanf(%f,&workcount.yfgz); printf(输入奖金:n); scanf(%f,&workcount.jj); printf(输入水电费:n); scanf(%f,&workcount.sdf); printf(输入公积金:n); scanf(%f,&workcount.gjj); printf(输入医疗保险

10、:n); scanf(%f,&workcount.ylbx); workcount.kkhj=workcount.sdf+workcount.gjj+workcount.ylbx; workcount.sfgz=workcount.yfgz+workcount.jj-workcount.kkhj; count+; printf(还需要再添加吗?(Y/N)n); scanf(n%c,&i); if(i=y | i=Y) zjxx(); else return; system(pause);3、查询void cx() /*根据职工号查询* int i,zgh; printf(请输入要查询的职工号n

11、); scanf(%d,&zgh); for(i=1;i=count;i+) if(worki.zgh=zgh)break; if(i=count) printf(.职工的所有信息.n); printf(职工号:%dn姓名:%sn应发工资:%.2fn奖金:%.2fn水电费:%.2fn公积金:%.2fn医疗保险:%.2fn扣款合计:%.2fn实发工资:%.2fn, worki.zgh,worki.xm,worki.yfgz,worki.jj,worki.sdf,worki.gjj, worki.ylbx,worki.kkhj,worki.sfgz); else printf(sorry,mei

12、you ci ren ); system(pause);4、修改void xg() /*根据职工号修改* int i,zgh; printf(请输入要修改的职工号n); scanf(%d,&zgh); for(i=1;i=count;i+) if(worki.zgh=zgh)break; if(i=count) printf(.职工的所有信息.n); printf(职工号:%dn姓名:%sn应发工资:%.2fn奖金:%.2fn水电费:%.2fn公积金:%.2fn医疗保险:%.2fn扣款合计:%.2fn实发工资:%.2fn, worki.zgh,worki.xm,worki.yfgz,worki

13、.jj,worki.sdf,worki.gjj, worki.ylbx,worki.kkhj,worki.sfgz); else printf(sorry,mei you ci ren ); printf(请重新输入姓名); scanf(%s,&worki.xm); printf(请重新输入应发工资:n); scanf(%f,&worki.yfgz); printf(请重新输入奖金:n); scanf(%f,&worki.jj); printf(请重新输入水电费:n); scanf(%f,&worki.sdf); printf(请重新输入公积金:n); scanf(%f,&worki.gjj)

14、; printf(请重新输入医疗保险:n); scanf(%f,&worki.ylbx);5、删除void sc() /*根据职工号删除* int i,zgh; char s; printf(请输入要删除的员工所在的职工号); scanf(%d,&zgh); for(i=1;i=count;i+) if(worki.zgh=zgh)break; if(i=count) printf(.职工的所有信息.n); printf(职工号:%dn姓名:%sn应发工资:%.2fn奖金:%.2fn水电费:%.2fn公积金:%.2fn医疗保险:%.2fn扣款合计:%.2fn实发工资:%.2fn, worki.

15、zgh,worki.xm,worki.yfgz,worki.jj,worki.sdf,worki.gjj, worki.ylbx,worki.kkhj,worki.sfgz); printf(确定要删除吗? 请输入Y/N确认n); setbuf(stdin,NULL);/清除输入缓冲区数据(回车) scanf(%c,&s); if(s=Y|s=y) for(i=0;i=count;i+) worki.zgh=worki+1.zgh; strcpy( worki.xm, worki+1.xm); worki.yfgz=worki+1.yfgz; worki.jj=worki+1.jj; work

16、i.sdf=worki+1.sdf; worki.gjj=worki+1.gjj; worki.ylbx=worki+1.ylbx; worki.kkhj=worki+1.kkhj; worki.sfgz=worki+1.sfgz; worki.zgh=0 ; strcpy(worki.xm,0); worki.yfgz=0; worki.jj=0; worki.sdf=0; worki.gjj=0; worki.ylbx=0; worki.kkhj=0; worki.sfgz=0; count-; printf(所选信息已删除); else printf(sorry! mei you ci

17、ren ); system(pause);6、统计浏览void tjll()/ *统计浏览* int i; float yfgz=0,jj=0,sdf=0,gjj=0,ylbx=0,kkhj=0,sfgz=0; system(cls); printf(职工号 姓名 应发工资 奖金 水电费 公积金 医疗保险 扣款合计 实发工资n); printf(-n); for(i=1;i=count;i+) printf(%d %s %.2f %.2f %.2f %.2f %.2f %.2f %.2fn,worki.zgh, worki.xm,worki.yfgz,worki.jj,worki.sdf,wo

18、rki.gjj, worki.ylbx,worki.kkhj,worki.sfgz); printf(-n); yfgz=yfgz+worki.yfgz; jj=jj+worki.jj; sdf=sdf+worki.sdf; gjj=gjj+worki.gjj; ylbx=ylbx+worki.ylbx; kkhj=sdf+gjj+ylbx; sfgz=yfgz+jj-kkhj; printf(汇总:职工人数%dn,count-1); printf( 应发工资%.2fn,yfgz); printf( 奖 金%.2fn,jj); printf( 水电费%.2fn,sdf); printf( 公积

19、金%.2fn,gjj); printf( 医疗保险%.2fn,ylbx); printf(-n); printf( 扣款合计%.2fn,kkhj); printf( 实发工资%.2fn,sfgz); system(pause);四、详细设计4.1 程序流程图1、主函数(main())2、数据的录入和保存(input())3、数据的删除(delete())4、数据的修改(change())5、数据的查找(find())4.2 关键算法与技术实现void main()/*主函数,主界面* int xz;do system(cls); /清屏,清除屏幕上的所有信息 printf( tt*n); pr

20、intf( tt* 工资管理系统 *n); printf( tt* 1-初始化信息 *n); printf( tt* 2-添加职工信息 *n); printf( tt* 3-根据职工号查询 *n); printf( tt* 4-根据职工号修改 *n); printf( tt* 5-根据职工号删除 *n); printf( tt* 6-统计并浏览 *n); printf( tt* 7-退出 *n); printf( tt*n); printf( tt输入您的选择(1-7):); scanf(%d,&xz); switch(xz) case 1:csh(); break; /执行子函数csh(完成

21、初始化功能) case 2:zjxx(); break; /执行子函数zjxx(完成添加职工信息) case 3:cx();break; /执行子函数cx(完成根据职工号查询) case 4:xg();break; /执行子函数xg(完成根据职工号修改) case 5:sc(); break; /执行子函数sc(完成根据职工号删除) case 6:tjll(); break; /执行子函数tjll(完成统计并浏览) case 7:printf(n-谢谢,欢迎下次光临!-nn); default:exit(0); /退出系统,exit(0)函数功能是退出程序。 while(1);五、测试运行5.

22、1 系统测试方案1.运行主界面 如图5-1显示,初始化、添加、查询、修改、删除、统计并浏览职工的工资信息图5-12.添加职工 如图5-2可以添加职工的信息,如员工号、应发工资、奖金、水电费、公积金、医疗保险等信息图5-23.查询职工信息 如图5-3按职工号查询指定职工的工资信息,可以查询员工号、应发工资、奖金、水电费、公积金、医疗保险等 图5-34.修改职工信息 如图5-4职工号修改指定职工的工资信息,可以修改如员工号、应发工资、奖金、水电费、公积金、医疗保险等图5-45.统计浏览 如图5-5完成扣款合计和实发工资的统计,并显示所有职工的工资信息图5-55.2 运行结果分析1、将软件进行初始化

23、。2、进入程序菜单,界面如图5-6图5-6界面显示的是“工资管理系统”,总的操作流程有7个方面:初始化信息;添加职工信息;根据职工号查询;根据职工号修改;根据职工号删除;统计并浏览);退出(退出系统)。 3、输入和存取职工信息:选择菜单界面的第2个选择,按Enter键进入此选择界面,出现的界面如图5-7图5-7六、设计体会这C语言实训总体来说收获很大。通过一个星期的学习,巩固和提高了基本编程能力。当然其中遇到过很多问题,当在自己的思考中把这些问题一一解决之后,才发现只有自己认真对待了,没有解决不了的问题。就像一开始根本就没有一点思路,因为毕竟是第一次做这么一个大题目,但我们到处都有学习的机会,

24、通过同学们的相互讨论和老师的教导,终于找到了自己的解决方法。虽然我们的专业不是编程,但老师也说过,最主要的通过这一次机会来提高自己。主要参考文献1 夏涛.C语言程序设计M. 北京:人民邮电出版社. 2007.2 谭浩强.C程序设计(第三版)M. 北京:清华大学出版社. 20063 苏仕华.数据结构课程设计M. 北京:机械工业出版社. 附录#include /输入输出函数头文字#include /系统函数头文件#include /字符串函数头文件#define N 100 /定义常量n的值为struct worker /定义结构体int zgh; char xm10; float yfgz; float jj; float sdf; float gjj; float ylbx; float kkhj; float sfgz;workN;int count=1; /计数void csh() /*初始化信息*/*对第一位进行初始化*/ work1.zgh=001; strcpy(work1.xm,aa); work1.yfgz=1000; work1.jj=50

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1