您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 人事档案/员工关系 > C课程设计企业员工工资管理系统
仲恺农业工程学院课程设计报告****************************课程面向对象课程设计姓名院(系)专业年级学号指导教师日期仲恺农业工程学院教务处制目录1需求与功能分析......................................................................................................................12系统框架图..............................................................................................................................23类的设计与分析......................................................................................................................24非成员函数的设计与分析......................................................................................................45特色算法分析..........................................................................................................................46存在的问题及对策..................................................................................................................87用户手册及测试结果..............................................................................................................87.1用户手册............................................................................................................................................87.2测试结果............................................................................................................................................88心得体会................................................................................................................................119附:程序源代码....................................................................................................................1111需求与功能分析在信息技术高速发展的今天,传统的数据统计方式在处理庞大繁杂的信息量时显得力不从心,于是,人们对于运用计算机来辅助和管理工作的需求正在逐步提高。随着各个企业业务的逐步扩展,企业的员工人数也在迅速增加,由于管理人员水平有限,导致某些员工纪录管理并不完善,特别是繁杂的员工工资管理纪录,不易查询、修改,极易导致错误,而落后的员工管理方法随着社会的日益竞争,必将被淘汰。由计算机来管理庞大而繁杂的企业员工纪录是非常合适的,不仅查询和修改方便,并且效率高,速度快,完全能够满足现代化企业管理的需要,同时也更利于实现全面办公自动化。因此开发一套企业员工工资管理系统软件势在必行。企业员工工资管理系统是企业管理系统中的一个重要组成部分,它为企业合理的员工调配与编制,以及有关问题的决策能够提供各种必要的基础数据,是公司管理现代化的一个重要方面。利用微机对庞杂而繁锁的员工工资系统实现自动化管理,是计算机公司信息管理系统的重要内容。我在陈勇老师指导下开发了《企业员工工资管理系统》。《企业员工工资管理系统》旨在为商业人士及在社会团体、机构中负责管理关系的人士提供一个功能全面、使用方便的工资管理系统,以替代传统的手工管理工资纪录,同时利用先进信息技术为用户提供一些更为方便实用的功能。本系统实现五种基本功能:输入员工工资信息、删除员工工资信息、修改员工工资信息、查找员工工资信息、列出所有员工工资信息。所以该工资管理系统可以分为5个模块,分别为输入模块、删除模块、修改模块、查找模块、列表模块,每个模块都有其对应的功能以及其设计。(1)输入模块输入模块的功能是创建存储职工工资信息的存储系统以及添加某职工的工资信息。为实现输入的功能,有两个方面的任务:定义结构体以及建立链表。(2)删除模块删除模块的功能是删除某职工的工资信息。(3)修改模块修改模块的功能是修改某职工的部分工资信息。(4)查找模块查找模块的功能就是输出指定编号职工的工资信息。2(5)列表模块列表模块的功能是输出当月全体职工的工资信息。2系统框架图图1系统框架图3类的设计与分析classWorker{protected:主菜单输入员工工资信息删除指定员工工资信息修改指定员工工资信息查找指定员工工资信息输出全体员工工资信息退出3Worker_pay*head;//链表的头结点指针public:Worker(){head=NULL;}//构造函数voidDisplay(Worker_pay*);//输出函数Worker_pay*Find(int);//查找函数intListCount();//统计员工人数函数voidAddItem(int,string,int,string,string,string,float,float);//创建链表并链表的插入voidRemoveItem(int);//删除函数voidReplaceItem(int);//修改函数voidListL();//遍历函数voidSearch(int);//查找并输出某个员工信息函数voidReal_wage(float,float);//计算函数voidRecordinfo(int,string,int,string,string,string,float,float,float,float);//存储函数};表1Worker类说明表名称属性说明head数据成员链表头结点指针Worker()成员函数缺省的构造函数,缺省值为head=NULLvoidDisplay(Worker_pay*)成员函数输出函数Worker_pay*Find(int)成员函数查找函数intListCount()成员函数统计员工人数函数voidAddItem(int,···float,float)成员函数创建链表并链表的插入voidRemoveItem(int)成员函数删除函数voidReplaceItem(int)成员函数修改函数voidListL()成员函数遍历函数voidSearch(int)成员函数查找并输出某个员工信息函数voidReal_wage()成员函数计算函数voidRecoreinfo(int,···,float,float)成员函数存储函数44非成员函数的设计与分析表2非成员函数说明表名称说明intMenu()用于显示主菜单charExit()用于退出程序voidInput(int*num,···,float*allowance)用于输入员工工资信息voidAddNew()用于调用成员函数AddItem(int,···float,float)Real_wage()和Recoreinfo(int,···,float,float)voidDoFind()用于调用成员函数Search(int)voidDoDelete()用于调用成员函数RemoveItem(int)voidDoMotify()用于调用成员函数ReplaceItem(int)voidList()用于调用成员函数ListL()intmain()主函数5特色算法分析Worker类中的成员函数voidAddItem(int,···float,float)(1)功能:创建存储职工工资信息的存储系统以及添加某职工的工资信息。算法思路:先定义一个结构体Worker_pay,通过从表尾插入的方法来建立链表。首先要先设立一个头指针(head)来存放链表的首地址,然后,不断用new运算符生成一个新的结点,将这个结点链入已有的链表尾部;如果链表中还没有结点,则这个新结点将是首结点,否则,将新结点的地址赋给原有链表的尾结点的next指针。(2)流程图:5StartIF!head员工工资信息赋给headReturn*t=headWhilet&t-num!=num1t=t-nextIFt操作失败Return*p-headWhilep-next6图2流程图(3)代码:voidWorker::AddItem(intnum1,stringname1,intage1,stringsex1,stringdepartment1,stringtitle1,floatwage1,floatallowance1){if(!head){head=newWorker_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;p-next员工工资信息赋给pReturnEnd7head-next=NULL;return;}Worker_pay*t=head;while(t&&t-num!=num1)t=t-next;if(t){cout操作失败;员工编号为num1的信息已经存在!!!endl;return;}Worker_pay*p=head;while(p-next)p=p-next;Worker_pay*p1=newWorker_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;}86存在的问题及对策(1)设计初期,先完成初步构思,写出主函数。然后对主函数所涉及的各个模块进行编程,将各个模块利用指针和链表联系起来。在环境中进行调试,应一边编译,一边调试,并且要一个模块一个模块的调试。直至此模块完全没有错误时,在进入下一模块的调试。不能直接输入全部的代码一次性调,这样错误会很多,并且不易找出和修改。在完成程序的编译链接后,要用多组数据进行审查,确保做到系统无误。设计过程中,不应忽视环境提示的警告,有时程序运行不正确与警告也有很大的关系。这次设计中遇到很多问题都是提示类型不匹配,这时就要认真检查前面的代码,及时改正并且认真仔细,杜绝此类错再次发生。编写代码时应该少用全局变量,全局变量在编写试看似定义次数少,很方便。但全局变量出错几率较大,且不
本文标题:C课程设计企业员工工资管理系统
链接地址:https://www.777doc.com/doc-1012486 .html