C程序设计课设报告——教师资源管理系统.doc
《C程序设计课设报告——教师资源管理系统.doc》由会员分享,可在线阅读,更多相关《C程序设计课设报告——教师资源管理系统.doc(26页珍藏版)》请在沃文网上搜索。
1、 摘 要人事工资管理系统的主要目标是辅助企事业单位高层领导决策,提高工作人员的工作效率,从而使企事业单位能够以少的投入获得更好的社会效益与经济效益,像人事系统、工资管理系统等就属于人事工资管理系统的范畴。它是单位实现现代化建设的基础工程,是提高单位的管理水平、业务的运转效率和服务质量的必要手段。因此 许多的程序员都可能面对如何开发一套比较完善的人事工资管理系统是相当有必要的问题。随着计算机技术的飞速发展,计算机在企、事业管理中应用的普及,利用计算机实现企、事业人事工资的管理势在必行。本系统结合人事、财务制度,经过需求分析、总体设计和详细设计,采用功能强大的C 语言作为开以语言,来开发模拟我校的
2、、单机版的教师工资管理系统。整个系统从符合操作简便、接口友好、灵活、实用、安全的要求出发,完成人事、工资管理的全过程,包括新进员工加入时工资的输入、老员工的转出、职位等的变动引起职工工资信息的修改、教师工资信息的查询、统计等工资管理工作。关键字:教师工资; C语言; 管理系统目 录一、需求分析1二、总体设计2三、详细设计32.1 数据定义32.2 算法流程图4五、测试7六、设计总结12参考文献13致谢14附录115一、需求分析随着高等学校的快速发展,高校教师规模越来越大,教职工的数量也越来越多,高校教师工资管理更加的复杂,而工资管理是一项琐碎、复杂而又十分细致的工作, 工资计算、发放、核算的工
3、作量很大,一般不允许出错,如果实行手工操作,每月发放工资须手工填制大量的表格,这就会耗费工作人员大量的时间和精力,计算机 进行工资发放工作,不仅能够保证工资核算准确无误、快速输出,而且还可以利用计算机对有关工资的各种信息进行统计,服务于财务部门其他方面的核算和财务处 理,同时计算机具有着手工管理所无法比拟的优点。本系统具有以下功能:1.教师工资信息输入;2.教师工资信息查询;3.教师工资信息删除;4.教师工资信息插入;5.教师工资信息排序;6.教师工资信息统计;7.教师工资信息保存。 二、总体设计根据系统的需求分析,为了完成系统必须的功能,我们确定工资管理系统的功能如图1所示。教师工资管理系统
4、增加职工工资删除职工工资修改职工工资查询职工工资插入职工工资统计职工工资排序职工工资保存职工工资显示职工工资按职工编号查询按职工姓名查询图1 工资管理系统功能模块图三、详细设计2.1 数据定义1.与职工有关的数据结构char num10; /*职工编号*/char name15; /*职工姓名*/float jbgz; /*基本工资*/float jj; /*奖金*/float kk; /*扣款*/float yfgz; /*应发工资*/float sk; /*税款*/float sfgz; /*实发工资*/2.工资发放的数据结构tpn.jbgz=numberinput(jbgz:); /*输
5、入并检验基本工资*/tpn.jj=numberinput(jiangjin:); /*输入并检验奖金*/tpn.kk=numberinput(koukuan:); /*输入并检验扣款*/tpn.yfgz=tpn.jbgz+tpn.jj-tpn.kk; /*计算应发工资*/tpn.sk=tpn.yfgz*0.12; /*计算税金,这里取应发工资的百分之一十二*/tpn.sfgz=tpn.yfgz-tpn.sk; /*计算实发工资*/3.主函数模块switch(select) case 1:count=Add(gz,count);break; /*增加职工工资记录*/ case 2:count=D
6、el(gz,count);break; /*删除职工工资记录*/ case 3:Qur(gz,count);break; /*查询职工工资记录*/ case 4:Modify(gz,count);break; /*修改职工工资记录*/ case 5:count=Insert(gz,count);break; /*插入职工工资记录*/ case 6:Tongji(gz,count);break; /*统计职工工资记录*/ case 7:Sort(gz,count);break; /*排序职工工资记录*/ case 8:Save(gz,count);break; /*保存职工工资记录*/ case
7、 9:system(cls);Disp(gz,count);break; /*显示职工工资记录*/ default: Wrong();getchar();break; /*按键有误,必须为数值-9*/2.2 算法流程图2.21保存函数Save()的算法流程图如图2所示。FILE *fp;(fp=fopen(outfile,wb)=NULLprintf(nSaving file.n);printf(can not open filen);p!=NULLfclose(fp);fwrite(p,sizeof(SALARY),1,fp);图2 保存函数Save()的算法流程图2.22按编号查找教师工资
8、信息记录printheader(); printdata(tpp); printf(END); printf(press any key to return); getchar();p=Locate(tp,n,searchinput,num);system(cls);printf(n =1 Search by number =2 Search by namen);if(select=1)if(p!=-1)Nofind();图3 按编号查找教师工资信息记录四、编码说明: “工资管理系统总控模块” 的功能由menu()函数实现,根据“工资管理系统总控模块” 的程序流程图编写menu()函数。 “统
9、计职工工资记录子模块” 的功能由Tongji()函数实现,根据“计算实发工资子模块” 的程序流程图编写calc函数。 “查询职工工资记录子模块” 的功能由sort()函数实现,根据“查找记录子模块” 的程序流程图编写search函数。 “删除职工工资记录子模块” 的功能由Del函数实现,根据“删除记录子模块” 的程序流程图编写delete函数。 “插入职工工资记录子模块” 的功能由Insert()函数实现,根据“插入记录子模块” 的程序流程图编写insert()函数。 “保存职工工资记录子模块” 的功能由save()函数实现,根据“插入记录子模块” 的程序流程图编写save()函数。 “排序职
10、工工资子模块” 的功能由Sort()函数实现,根据“排序职工工资子模块” 的程序流程图编写Sort()函数。 case 1:count=Add(gz,count);break; /*增加职工工资记录*/ case 2:count=Del(gz,count);break; /*删除职工工资记录*/ case 3:Qur(gz,count);break; /*查询职工工资记录*/ case 4:Modify(gz,count);break; /*修改职工工资记录*/ case 5:count=Insert(gz,count);break; /*插入职工工资记录*/ case 6:Tongji(gz
11、,count);break; /*统计职工工资记录*/ case 7:Sort(gz,count);break; /*排序职工工资记录*/ case 8:Save(gz,count);break; /*保存职工工资记录*/ case 9:system(cls);Disp(gz,count);break; /*显示职工工资记录*/(源代码见附录1)五、测试在VisualC+ 6.0中运行该系统,得到如图4所示的教师工资管理系统的主界面。图4 教师工资管理系统的主界面在图4所示的系统主界面中,输入1,进入图5所示的输入教师工资信息界面。图5 输入教师工资信息界面输入0返回图4所示的主界面,再输入2
12、,进入图6所示的删除教师工资信息界面。图6 删除教师工资信息界面按任意键返回图4所示的主界面,再输入3,进入图7所示的查询教师工资信息界面。图7 查询教师工资信息界面 按任意键返回图4所示的主界面,再按4,进入图8所示修改教师工资信息界面。图8 修改工资信息界面输入0返回图4所示的主界面,再输入5,进入图9所示的插入教师工资信息界面。图9 插入教师工资信息界面。输入0返回图4所示的主界面,再输入6,进入图10所示的教师工资信息统计界面。图10 教师工资信息统计按任意键返回图4所示的主界面,再按7,进入图11所示教师工资信息排序界面。图11 教师工资信息排序界面。按任意键返回图4所示的主界面,再
13、按8,保存教师工资信息。图12 保存教师工资信息六、设计总结第一次做课设,第一次接触这么庞大的c程序,首先读懂它就有很大的难度,但是按照老师讲过的很多东西,慢慢地和其他人一起讨论,集合了大家的想法,也使得思路更加开阔和多样化。例如,刚编写好程序时,我们将所有子函数方最后面并且没有预先申明,导致程序执行时出错,后来经过老师的讲解,最后重新调整了函数的顺序,最后程序编译成功时,大家都特别高兴。虽然编程看起来似乎是一件很枯燥、乏味的事情,但是经历了这次大程序的编辑之后,现其实里面还是充满乐趣的,一旦真的钻研下去什么事情都可以放下,来认真研究。编程尤其是调试是一项细致深入的工作,需要下工夫、动脑子、善
14、于积累经验,这往往能反映出一个人的水平、经验和科学态度。 C语言实训和平时上课所接触的程序是有很大不同的,平时看的写的都是小程序,致使包括一些知识。从来没有将所有学过的知识集中在一个程序中。所经受的考验和克服的困难是平时所无法比拟的。好在同组的搭档们精诚合作,分工明确,有问题共同解决,攻克了C语言实训的复杂程序。在这里,我作为其中的参与者,感触良多。在这次课程设计中我对C语言有了一个更深的了解认识,也对这个学期学的知识得到巩固,还尝试运行编程,每次运行程序成功,让我对下面的项目就充满信心。通过自己与同学合作编写程序,最终把最初的理论知识转化基本技能。这次的课程设计使我对C语言的学习产生浓厚的兴
15、趣。还是这次课程设计最令人激动的就是合作做项目,虽然那只是一个很小很小的项目,大家在一起学习,取长补短,我们很好的在课设中长知识,提高我们的学习热情。对于以后的学习及我们的专业知识的学习我都有了很大的信心。只要我们努力,所有的事就像我们的C程序一样,只要我们编好了程序,就能正确的运行的。因此我觉得,只要能够细心,下功夫,特别是不懂的问题善于请教老师或者同学,一定可以把课堂上学过的书本知识运用到实践中,将知识真真切切地变为自己的。参考文献1姜灵芝,余健. C语言课程设计案例精编.北京:清华大学出版社,20082王新,孙雷. C语言课程设计.北京:清华大学出版社,20093游洪跃、彭骏、谭斌.C语
16、言程序设计实验与课程设计教程.北京:清华大学出版社,20114王连相.C/C+程序设计上机指导与测试. 北京:中国铁道出版社,20065C语言函数手册,机械工业出版社,1999致谢 一周的课设紧张的结束了,在此期间周老师也很辛苦,给我们讲解了如何去做一个如此庞大的课程设计,给了我们很多的帮助。同时,当我们遇到困难时耐心地为我们作讲解并加以引导,因此,我们再次感谢周老师。总之,第一次接触课程设计一定会遇到好多问题不仅仅是C程序中的相关知识还有许多专业技术知识,我们去克服它得到了许多同学的鼓励和帮助尤其是我的合作伙伴马华和赵晓瑾。最后,我们在做这次课设的时候还参考了许多资料,在此也表示感谢。24附
17、录1 #include stdio.h /*标准输入输出函数库*/#include stdlib.h /*标准函数库*/#include string.h /*字符串函数库*/#include conio.h /*屏幕操作函数库*/#define HEADER1 -ZGGZ- n#define HEADER2 | number| name | jbgz | jj | kk | yfgz | sk | sfgz | n#define HEADER3 |-|-|-|-|-|-|-|-| n#define FORMAT |%-8s|%-10s |%8.2f|%8.2f|%8.2f|%8.2f|%8.
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
20 积分
下载 | 加入VIP,下载更划算! |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 程序设计 报告 教师 资源管理 系统