c++职工工资管理论文

上传人:第*** 文档编号:57159497 上传时间:2018-10-19 格式:PDF 页数:27 大小:818.52KB
返回 下载 相关 举报
c++职工工资管理论文_第1页
第1页 / 共27页
c++职工工资管理论文_第2页
第2页 / 共27页
c++职工工资管理论文_第3页
第3页 / 共27页
c++职工工资管理论文_第4页
第4页 / 共27页
c++职工工资管理论文_第5页
第5页 / 共27页
点击查看更多>>
资源描述

《c++职工工资管理论文》由会员分享,可在线阅读,更多相关《c++职工工资管理论文(27页珍藏版)》请在金锄头文库上搜索。

1、华侨大学厦门工学院华侨大学厦门工学院面向对象程序设计课程设计报告课程设计报告题目: 职工工资管理系统专业班级:11 级通信三班学生组长:汪夏莲小组成员: 王捷、童海峰指导教师:林佳楠分数:2014 年6月6日课课 程程 设设 计计 任任 务务 书书设计题目职工工资管理系统学生姓名汪夏莲、王 捷、童海峰所在院系电子信息系专业、年级、班通信工程 11 级通信 (3)班设计要求:设计要求:定义职工(employee)类,其中至少包括姓名、性别、工号、所在系部、职称、联系电话和工资。1、设计菜单实现功能选择;2、输入功能:输入教职工信息,并保存到文件中;3、查询功能: (1)能够根据工号精确查询职工信

2、息; (2)能够根据姓名、科室查询职工信息;(3)能够分系部进行工资统计,计算系部平均工资;4、根据职工的工资排序输出;5、根据工号修改职工信息;6、根据工号删除职工信息。设计步骤:设计步骤:1、理解职工工资管理系统的基本要求;2、学习 VC6.0 软件的使用;3、用原理框图来帮助程序的编写;4、对程序进行仿真。参考文献阅读:参考文献阅读:1谭浩强.C 程序设计(第四版)M.清华大学出版社,2012.2杨涛C 程序设计语言M.北京:机械工业出版社,20043邱关源 罗先觉.电路(第五版)M.北京:高等教育出版社,2006.课设进度安排:课设进度安排:第8周课设题目选定 第9周制定方案,画出系统

3、框图 第10周利用网络查询相关信息,了解程序的构成 第 11-13 周编写和反复修改程序 第14周制作 ppt 第15周验收任务下达日期: 2014 年4 月14 日 任务完成日期: 2014 年6 月6 日指导教师(签名) :学生(签名) :目录 第一章 总体设计.11、设计任务的目的12、设计任务要求13、设计方案选取与论证14、 模块划分与任务安排3第二章 软件设计.3、主函数:main()32、 输入函数:void input()43、浏览函数 voiddisplay().54、 修改函数 void change().55、查询函数 void search().65.1、按照工号查询

4、void search_num();75.2、按姓名查询 voidsearch_name()75.3、按科室查询 voidsearch_department()86、删除函数 voiddel().87、计算平均工资 compute_avg().9第三章 系统实现及调试过程.9第四章 结论.13第五章 致谢.14第六章 参考文献.14附录 程序(完整源程序清单).15第七章 成绩评定表.24第 1 页第一章 总体设计1、设计任务的目的通过此次课设可以锻炼学生理论联系实际能力,提高学生适应实际、实践编程的能力,使对 C 语言系统编程有一个大致的了解,并达到如下目的:1.熟悉 C 语言程序的编辑、编

5、译链接和运行的过程。2.熟练运用 if 语句和 switch 语句以及嵌套应用。3.学习并掌握 C 语言定义函数的基本方法、声明函数及调用函数的方法和过程。4. 掌握文件的概念以及文件的定义方法,认识文件打开、关闭、读、写等文件基本操作函数。5.掌握结构体类型变量、数组的定义和使用。6. 掌握数组的定义、引用以及输入输出的方法、通过字符数组存储字符串,进一步使用字符串。2、设计任务要求定义职工(employee)类,其中至少包括姓名、性别、工号、所在系部、职称、联系电话和工资。1、设计菜单实现功能选择;2、输入功能:输入教职工信息,并保存到文件中;3、查询功能:(1)能够根据工号精确查询职工信

6、息;(2)能够根据姓名、科室查询职工信息;(3)能够分系部进行工资统计,计算系部平均工资;4、根据职工的工资排序输出;5、根据工号修改职工信息;6、根据工号删除职工信息。3、设计方案选取与论证对于整个系统的设计思路是,首先,由员工输入用户信息,包括姓名、性别、工号、所在系部、职称、联系电话和工资。 ;然后,在计算某职工的当月工资时,系统先从第 2 页已输入的职工信息文件中获取职工信息,接着调用不同的处理程序进行计算;最后将结果存档。首先,他们都属于雇员,因此可以设计一个基类 employee(雇员) ,根据用户需要employee 类应该拥有的属性有:姓名、性别、工号、所在系部、职称、联系电话

7、和工资。Employee 类的服务可以包括 jiemian(),input(),display(),change(),search(),search_num(),search_name(),del(),search_department(), compute_avg();main()其中input()函数用于用户输入的职工信息;search()函数用来根据需求查找职工信息;search_num(),search_name(),search_department()函数用来根据工号、姓名、部门查找职工信息;compute_avg()函数为工资计算函数,但在基类中为空,原因是各类人员的工资计算方法

8、不同,无法在基类中统一定义,必须在派生类中分别定义。change()函数用来修改职工信息;display()浏览函数用来显示职工信息;del()用来删除职工信息;jiemian()用于显示制作人的名字。系统功能模块图:第 3 页4、模块划分与任务安排1)主函数:main()(负责的同学:童海峰)2)输入函数:void input()(负责的同学:王捷)3)浏览函数 void display()(负责的同学:汪夏莲)4)修改函数 void change()(负责的同学:王捷)5)查询函数 void search()(负责的同学:汪夏莲)5.1、按照工号查询 void search_num();5

9、.2、按姓名查询 void search_name()5.3、按科室查询 void search_department()6)删除函数 void del() (负责的同学:汪夏莲)7)计算平均工资 void compute_avg()(负责的同学:童海峰)8)PPT 制作(负责的同学:童海峰)9)PPT 讲解(负责的同学:王捷)第二章 软件设计、主函数:main()(负责的同学:童海峰)显示系统工作菜单,罗列该系统所有功能。先声明所有将会调用到的函数名。再运用选择函数 switch 即可根据使用者所输入的功能代号进入对应的功能程序。亮点:定义一个全局变量 key。display()能够正确显示

10、出当前人数的职工信息。宏定义define N 指定首次输入的职工人数,可根据不同需要随时更改。第 4 页2、输入函数:void input()(负责的同学:王捷)定义一个结构 struct employee 和数组 empaixu用来存储 N 个职工的所有信息。(姓名、性别、工号、所在系部、职称、联系电话和工资) 。通过 for 循环输入所有职工的信息。用 printf 语句提示要输入的内容,接着用 scanf 语句输入相应的内容。第 5 页3、浏览函数 void display()(负责的同学:汪夏莲)声明整形变量 i 和 j,其中 i 记录输出的职工序数,j 用来接收调用浏览函数时所传递过

11、来的实参,用 for 循环输出每个职工的各种信息。 。用 printf 语句提示要输入的内容,接着用 scanf 语句输入相应的内容。4、修改函数 void change()(负责的同学:王捷)通过职工的工号修改职工信息。声明整形变量 i 和 j,用 for 循环修改每个职工的各种信息。用 printf 语句提示要输入的内容,接着用 scanf 语句输入相应的内容。第 6 页5、查询函数 void search()(负责的同学:汪夏莲)声明整型变量 j,先用 printf 语句显示查询菜单,用 scanf 输入选择的查询方式代号,用 switch(j)进入所选择的具体查询函数,包括按能够根据工

12、号精确查询职工信息;能够根据姓名、科室查询职工信息。第 7 页5.1、按照工号查询 void search_num();声明两个整型变量 i,j,num 存放键盘输入的职工号,通过 scanf 语句从键盘输入要查询的职工号,并赋值给 num,用 for 循环,循环主体是先判断 num 中是否有输入职工号。若有,用 printf 语句输出与职工号相对应烦人该职工的所有信息。在跳出循环,若没有,输出“职工不存在”。5.2、按姓名查询 void search_name()声明整形变量 i 和字符形数组 nname30, 调用函数用 scanf 语句输入要查询的职工名字(字符串)放在数组 name 里

13、面。用 for 循环,循环主体是先判断 em.name 中是否有输入的职工姓名,如果有,用 printf 语句输出与职工名字相对应的该职工所有信息,再跳出循环;如果没有,输出“职工不存在啊!”。按任意键结束。流程图与 5.1、按照工号查询 void search_num()类似第 8 页5.3、按科室查询 void search_department()声明整形变量 i 和字符形数组 ndepartment30,调用函数用 scanf 语句输入要查询的职工科室(字符串)放在数组 department 里面。用 for 循环,循环主体是先判断em.department 中是否有输入的职工科室,如

14、果有,用 printf 语句输出与职工科室相对应的该职工所有信息,再跳出循环;如果没有,输出“职工不存在啊!”。按任意键结束。流程图与 5.1、按照工号查询 void search_num()类似6、删除函数 void del() (负责的同学:童海峰)声明整型变量 ichar 形数组 nnum20,nnum 存放键盘输入的职工号,通过 scanf 语句从键盘输入要删除的职工号,并赋值给 nnum,用 for 循环,循环主体是先判断 num中是否有输入职工号。若有,用 printf 语句删除与职工号相对应该职工的所有信息。在跳出循环,若没有,输出“职工不存在啊”。第 9 页7、计算平均工资 c

15、ompute_avg() (负责的同学:童海峰)对 salary 初始化设置初值为 0;定义一个整型 paixu(为职工总数) ,初始化为 0;每添加一人,则 salary+=salary。用总的工资除以总人数,算出平均工资。第三章 系统实现及调试过程遇到最大的问题是所有程序代码编完放在一起后,存在很多错误,每个人的思维方式不同,需要重新整理,花费大量时间修改程序的表达。又因为整个程序代码是分块书写的,每个函数都可以独立运行。只有输入函数查询菜单函数比较容易简单能够最顺利写出。其他函数在调试过程中或多或少都出现了问题。特别是删除函数以及计算平均工资并且排序输出函数,难倒了我们,经过反复查阅资料

16、以及反复试验,向他人询问,程序虽然能够成功运行,但使删除函数和计算平均工资的函数并不能实现其功能。调试结果:第 10 页第 11 页第 12 页第 13 页第四章结论经过一学期的面向对象设计学习,我们掌握了 C+语言的基础知识,能够读懂别人用 c+语言设计的程序。平时的程序设计大多是以填空的形式出现,虽然有所接触,但都不完全。而这次课程设计,却让我们完完全全把所学到的知识编写一个完整的体统程序。这是一个新的挑战,也是一种新的学习。我们组选择的是备选题目中的第一个职工工资信息管理系统。这需要我们自己设计一个系统,可以输入信息,保存到文件里,再从文件里调出来,使之显示在屏幕上,进行删除、添加等对信息的修改。刚开始觉得这个题目很贴近我们的生活,做起来应该还是可以的,但当我们坐到电脑前准备开始编写代码的时候才发现无从下手。通过去图书馆查找程序设计相关的书籍,和上网参考前人编写的类似程序,以及小组讨论和分工,我们脑中才有了一个大概方向。第 14 页这次的课设让我们认识到我们必须细致地设计程序中的每一个细节,准确的考虑程序运行时每一刻发生的事情

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 教学课件 > 高中课件

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号