(员工管理)C课程设计企业员工工资管理系统_

上传人:精****库 文档编号:136372769 上传时间:2020-06-28 格式:DOC 页数:28 大小:403.57KB
返回 下载 相关 举报
(员工管理)C课程设计企业员工工资管理系统__第1页
第1页 / 共28页
(员工管理)C课程设计企业员工工资管理系统__第2页
第2页 / 共28页
(员工管理)C课程设计企业员工工资管理系统__第3页
第3页 / 共28页
(员工管理)C课程设计企业员工工资管理系统__第4页
第4页 / 共28页
(员工管理)C课程设计企业员工工资管理系统__第5页
第5页 / 共28页
点击查看更多>>
资源描述

《(员工管理)C课程设计企业员工工资管理系统_》由会员分享,可在线阅读,更多相关《(员工管理)C课程设计企业员工工资管理系统_(28页珍藏版)》请在金锄头文库上搜索。

1、仲恺农业工程学院课程设计报告*课 程 面向对象课程设计姓 名 院 (系) 专业年级 学 号 指导教师 日 期 仲恺农业工程学院教务处制26目 录1 需求与功能分析12 系统框架图23 类的设计与分析24 非成员函数的设计与分析45 特色算法分析46 存在的问题及对策87 用户手册及测试结果87.1 用户手册87.2 测试结果88 心得体会119 附:程序源代码111 需求与功能分析在信息技术高速发展的今天,传统的数据统计方式在处理庞大繁杂的信息量时显得力不从心,于是,人们对于运用计算机来辅助和管理工作的需求正在逐步提高。随着各个企业业务的逐步扩展,企业的员工人数也在迅速增加,由于管理人员水平有

2、限,导致某些员工纪录管理并不完善,特别是繁杂的员工工资管理纪录,不易查询、修改,极易导致错误,而落后的员工管理方法随着社会的日益竞争,必将被淘汰。由计算机来管理庞大而繁杂的企业员工纪录是非常合适的,不仅查询和修改方便,并且效率高,速度快,完全能够满足现代化企业管理的需要,同时也更利于实现全面办公自动化。因此开发一套企业员工工资管理系统软件势在必行。企业员工工资管理系统是企业管理系统中的一个重要组成部分,它为企业合理的员工调配与编制,以及有关问题的决策能够提供各种必要的基础数据,是公司管理现代化的一个重要方面。利用微机对庞杂而繁锁的员工工资系统实现自动化管理,是计算机公司信息管理系统的重要内容。

3、我在陈勇老师指导下开发了企业员工工资管理系统。企业员工工资管理系统旨在为商业人士及在社会团体、机构中负责管理关系的人士提供一个功能全面、使用方便的工资管理系统,以替代传统的手工管理工资纪录,同时利用先进信息技术为用户提供一些更为方便实用的功能。 本系统实现五种基本功能:输入员工工资信息、删除员工工资信息、修改员工工资信息、查找员工工资信息、列出所有员工工资信息。所以该工资管理系统可以分为5个模块,分别为输入模块、删除模块、修改模块、查找模块、列表模块,每个模块都有其对应的功能以及其设计。(1)输入模块输入模块的功能是创建存储职工工资信息的存储系统以及添加某职工的工资信息。为实现输入的功能,有两

4、个方面的任务:定义结构体以及建立链表。(2)删除模块删除模块的功能是删除某职工的工资信息。(3)修改模块修改模块的功能是修改某职工的部分工资信息。(4)查找模块查找模块的功能就是输出指定编号职工的工资信息。(5)列表模块列表模块的功能是输出当月全体职工的工资信息。2 系统框架图主菜单输入员工工资信息删除指定员工工资信息修改指定员工工资信息查找指定员工工资信息输出全体员工工资信息退出 图1 系统框架图3 类的设计与分析class Workerprotected:Worker_pay * head; /链表的头结点指针public:Worker()head=NULL; /构造函数void Disp

5、lay(Worker_pay *); /输出函数 Worker_pay * Find(int); /查找函数int ListCount(); /统计员工人数函数 void AddItem(int,string,int,string,string,string,float,float); /创建链表并链表的插入void RemoveItem(int); /删除函数void ReplaceItem(int); /修改函数void ListL(); /遍历函数 void Search(int); /查找并输出某个员工信息函数void Real_wage(float,float); /计算函数void

6、 Recordinfo(int,string,int,string,string,string,float,float,float,float); /存储函数;表1 Worker类说明表名称属性说明head数据成员链表头结点指针Worker()成员函数缺省的构造函数,缺省值为head=NULLvoid Display(Worker_pay *)成员函数输出函数Worker_pay * Find(int)成员函数查找函数int ListCount()成员函数统计员工人数函数void AddItem(int,float,float)成员函数创建链表并链表的插入void RemoveItem(int

7、)成员函数删除函数void ReplaceItem(int)成员函数修改函数void ListL()成员函数遍历函数void Search(int)成员函数查找并输出某个员工信息函数void Real_wage()成员函数计算函数voidRecoreinfo(int,float,float)成员函数存储函数4 非成员函数的设计与分析表2 非成员函数说明表名称说明int Menu()用于显示主菜单char Exit()用于退出程序void Input(int * num,float * allowance)用于输入员工工资信息void AddNew()用于调用成员函数AddItem(int,fl

8、oat,float)Real_wage()和Recoreinfo(int,float,float)void DoFind()用于调用成员函数Search(int)void DoDelete()用于调用成员函数RemoveItem(int)void DoMotify()用于调用成员函数ReplaceItem(int)void List()用于调用成员函数ListL()int main()主函数5 特色算法分析Worker类中的成员函数void AddItem(int,float,float)(1)功能:创建存储职工工资信息的存储系统以及添加某职工的工资信息。算法思路:先定义一个结构体Worker

9、_pay,通过从表尾插入的方法来建立链表。首先要先设立一个头指针(head)来存放链表的首地址,然后,不断用new运算符生成一个新的结点,将这个结点链入已有的链表尾部;如果链表中还没有结点,则这个新结点将是首结点,否则,将新结点的地址赋给原有链表的尾结点的next指针。(2)流程图:StartIF !head员工工资信息赋给headReturn*t=headWhile t&t-num!= num1t=t-nextIF t操作失败Return*p-headWhilep-nextp-next员工工资信息赋给pReturnEnd图2 流程图(3)代码:void Worker:AddItem(int

10、num1,string name1,int age1,string sex1,string department1,string title1,float wage1,float allowance1)if(!head)head=new Worker_pay;head-num=num1;head-name=name1;head-age=age1;head-sex=sex1;head-department=department1;head-title=title1;head-wage=wage1;head-allowance=allowance1;head-next=NULL;return;Wo

11、rker_pay * t=head;while(t&t-num!=num1)t=t-next;if(t)cout操作失败;员工编号为num1的信息已经存在!next)p=p-next;Worker_pay * p1=new Worker_pay;p1-num=num1;p1-name=name1;p1-age=age1;p1-sex=sex1;p1-department=department1;p1-title=title1;p1-wage=wage1;p1-allowance=allowance1;p1-next=NULL;p-next=p1;return;6 存在的问题及对策(1)设计初期

12、,先完成初步构思,写出主函数。然后对主函数所涉及的各个模块进行编程,将各个模块利用指针和链表联系起来。在环境中进行调试,应一边编译,一边调试,并且要一个模块一个模块的调试。直至此模块完全没有错误时,在进入下一模块的调试。不能直接输入全部的代码一次性调,这样错误会很多,并且不易找出和修改。在完成程序的编译链接后,要用多组数据进行审查,确保做到系统无误。设计过程中,不应忽视环境提示的警告,有时程序运行不正确与警告也有很大的关系。这次设计中遇到很多问题都是提示类型不匹配,这时就要认真检查前面的代码,及时改正并且认真仔细,杜绝此类错再次发生。编写代码时应该少用全局变量,全局变量在编写试看似定义次数少,

13、很方便。但全局变量出错几率较大,且不易修改,每次修改时都要全面考虑,所以应避免用到。程序调试中碰到的错误可以使自己学到知识。养成良好的编程习惯,可以节省很多时间,避免很多不必要的错误。(2)在编辑完整个程序后,进行调试阶段总是会数显head无定义。解决办法:再类的定义是忘记声明指针Worker_pay *head;。7 用户手册及测试结果 7.1 用户手册运行程序时,界面刚开始出现一个主菜单及提示信息,用户通过在键盘上输入来选择某个功能。当用户选择了某个功能,系统将跳转到所选择的功能界面,用户将可以根据提示信息来使用该功能,当用户通过键盘输入编号为-1时,系统将返回主界面。 7.2 测试结果图3 系统主界面图4 输入员工信息测试图图5 删除员工信息测试图图6 修改员工信息测试图图7 查找员工信息测试图图8 输出全体员工信息测试图图

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

最新文档


当前位置:首页 > 商业/管理/HR > 企业文档

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