员工工资管理系统

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

C++程序设计课程设计说明书员工工资管理系统
指导教师:
设计者:
专业班级:
设计时间:
《C++程序设计》课程设计任务书
专业班级:
设计题目:员工工资管理系统
一、已知技术参数或设计前提
1、由于员工人数多,对员工工资不便于管理。

2、每个员工工资信息包括:工号,姓名,各项工资,职称。

3、每个员工姓名是唯一的。

二、设计内容及要求
1、实现每个员工有关工资信息的数据录入、修改、删除以及按姓名查询现有员工工
资信息。

2、实现员工工资信息的录入、修改、删除和查找。

3、录入:记录员工的个人资料和学科工资等数据。

4、修改:查找员工的个人资料和学科工资等数据。

5、删除:删除离开本公司的员工的个人资料及其工资等数据。

6、查询:根据员工姓名查询工资等资料。

三、课程设计工作计划
1、确定题目,成立设计小组,做用户需求分析(0.5天)
2、查阅资料,进行问题分析,制定方案,确定成员分工(1天)
3、根据方案编写程序并进行调试(2.5天)
4、撰写设计说明书,完成设计(1天)
5、提交设计内容,答辩
四、相关教材及参考书目(至少五本)
[1]刘娜娜,刘恩军等编著,C++程序设计,北京航空航天大学出版社,2009
[2]宋红编著, C++语言程序设计,清华大学出版社,2008
[3]D.S.Malik 编著,C++基础教程,清华大学出版社,2006
[4]谭浩强编著,C++面向对象程序,清华大学出版社,2006
[5]李海文,吴乃陵编著,C++程序设计实践教程,高等教育出版社,2003
指导教师签字:
系主任签字:
2010
员工工资管理系统
一、需求分析
在现代,高科技的飞跃发展,人们工作习惯的改变,特别是电脑的大量普及,人们生活节奏越来越快,怎样提高工作效率是人们首先考虑的问题。

员工工资管理是一个非常繁琐与复杂的一项工作,一个原因就是工作量大,不好管。

对于一个企业而言,更应该运用一些本地资源,提高管理的力度,对员工负责,对企业负责。

很多企业现在仍然靠手工进行工资的修改、查询、录入等,工作效率低。

显然,靠手工进行管理这种管理方式已不能适应时代的发展,企业的需求。

今天这种传统的管理方法必然会被计算机为基础的信息管理系统所代替。

开发一个适合企业的员工工资管理系统是十分必要的。

开发一个员工工资管理系统,采用计算机对员工工资进行管理,进一步提高了企业的办工效益和现代化水平。

为企业的管理层在最短的时间把员工的工资核算出来,提高企业的工作效率,实现员工工资信息管理工作流程的系统化、规范化和自动化。

同时,能够随时对员工基本信息和工资进行各种查询,以及很好地对系统进行维护。

该设计是设计一个实用的小型员工工资管理程序,它有输出,增加,删除,查询功能。

二、系统的软硬件环境
1、硬件环境
CPU(Intel Core Duo 2.00GHz)内存(2GB)硬盘(250GB)
2、软件环境
Windows XP Microsoft Visual C++ 6.0
三、系统模块功能
该系统有四个模块,分别为输出员工工资信息模块,增加员工工资模块,删除员工工资信息模块,查询员工工资模块。

系统功能框架图如图1所示。

输出员工工资信息模块可实现员工工资显示功能。

使用者进入该模块后可根据提示输入,系统将输出员工工资。

若没有员工工资,系统将输出“对不起,没有任何记录,”。

若有员工工资,系统将输出所有员工工资。

增加员工工资模块可实现增加员工工资功能。

使用者进入该模块可根据提示输入,系统将录入该员工工资,系统将显示“记录添加成功”。

删除员工工资模块可实现删除员工工资功能。

使用者进入该模块可根据提示输入,系统将删除该员工工资,系统将显示“XX的记录已删除”。

查询员工工资信息模块可实现员工工资查询功能。

使用者进入该模块后可根据提示输入要查询的员工名字,系统将在工资库中寻找该工资。

若此员工工资在工资库中,系统将输出该员工工资信息。

若工资库不存在该工资,系统将提示使用者该“对不起,在员工记录中查找不到"<<name<<"的记录。

四、程序设计分析
1、类结构
(1)抽象类(class Wage)
用于说明虚函数,只能用做派生其他类的基类,而不能直接创建对象实例,具体功能在派生类中实现。

(2)员工数据库类(class CNode)(友元函数类 class CNode )
数据成员:抽象类的指针成员(Wage*pdata ) , 自己的指针成员(CNode*pnext) 。

成员函数:输入数据( void inputdata) ,输出一个同学的数据(void shownode) ,将获得的数据存入一个函数中(Wage *getdata) 。

(3)友元类的定义(class CList)
数据成员:指针变量的新成员(CNode*phead) 。

成员函数: 1、添加员工信息(addnode)
2、删除员工信息(deletelist)(*deletenode)
3、查询员工信息(*lookup)
4、输出员工信息(*getlisthead)(showlist)(在每一个中都使用“0”结
束该步操作,任意键返回主菜单)
(4)员工工资信息类(myEmployees) (公共继承Wage)
数据成员:职称(yourjod),工号(num),姓名(name),基本工资(basewage),奖金(prize), 补贴(butie),股份分红(gufeng),总的工资(allwage) 。

成员函数:开辟一个空间储存信息(myEmployees) , 通过虚函数先确认姓名(virtual int comparename),输出员工信息(班级,工号,各科对应的工资)(void
show) , 输入姓名(set)。

2 、各个模块函数设计思路
(1)主函数:
调用类(CList stulist)实现员工信息的添加,删除,输出,查询等各种
功能。

调用文件夹函数(loadfile)向文件中输入,输出员工的信息并保存在文件
夹中(文件夹的功能下面有具体的说明)。

调用operate(),打开文件夹选着要操作的项(operate()的功能下面有具体的说
明)。

操作完后"return0"结束。

(2)输出员工信息模块:
类CList中的成员函数showlist()实现显示所有的同学信息的清单。

公共继承类Wage的类Student中的成员函数show()直接输出与查询名字对应的员工的信息。

定义普通的函数print(),通过不同模块的函数调用输出信息。

任意键返回主菜单。

(3)添加员工信息模块:
成员函数addnode()用if/else定义添加函数。

Void add()中定义字符串char,用while按姓名输入该员工的工资信息。

调用stulist.addnode添加到员工清单中,添加成功提示“记录添加成功”
按任意键返回主菜单。

(4) 删除员工信息模块:
用deletelist()定义删除清单函数,定义指针变量,用while()实现删除。

用deletenode()定义删除员工信息,在函数中定义指针变量,用while()实现删除员工信息,并释放空。

按任意键返回主界面。

(5)查询员工信息模块:
用Void lookup()定义查询函数,定义指针变量,用while()实现在类stulist()输入姓名查找到相关的所有信息。

使用if()函数,指针变量实现查找,调用输出模块的函数输出,显示员工工资信息。

五、使用说明
在Microsoft Visual C++6.0的环境下打开员工工资管理系统的文件,点击运行程序。

根据提示在键盘上按任意键,初始员工管理系统清单打开,屏幕显示如图1所示。

图1
根据提示在键盘上按2键,输入所有员工个人信息及各项工资,屏幕如图2,图3所示。

图2
图3
输入0键结束,退入主菜单,如图4所示。

图4
输入4键,查询员工工资记录,如图5所示。

图5
输入1键,输出所有员工工资记录,如图6所示。

图6
输入3键,删除员工工资记录,如图7所示。

图7
输入4键,查询修改后员工工资记录,发现删除后的员工信息不存在,如图8所示。

图8
输入4键,查询修改后所有员工工资记录,发现删除后员工信息不存在,如图9所示。

图9
查询完毕,按任意键返回主菜单,如图10所示。

图10
输入0键,退出员工工资查询系统,如图11所示。

图11
六、结束语
经过近一个月的努力,我们的员工工资管理系统终于在我们四人合力之下完成,但在其中我们遇到了不少问题,我们请教老师,和同学交流,翻阅资料,并从网络上寻求帮助,终究调试成功。

但还是存在很多还不清楚的地方需要以后再进一步学习和实践,但总的来说还是很成功的。

我们所编辑的员工工资管理程序是个小程序,功能并不是很完善,只是简单的实现了数据修改,增加,查询,删除,输出等功能,但操作简单的员工工资管理类事情还是很便捷方便的。

在软件的编写过程中,因为每一个细微的细节都必须十分的注意,如果稍有不慎,就会全盘皆输,而且往往很多的时候,程序我们自己觉得非常的正确,但是就是编译通不过,在查找错误的过程中,面临着否认自己的过程,非常的痛苦,而且由于自己的经验及各方面的能力的不足,所以进展的速度非常的缓慢,往往几天的时间还没多大进展。

在开始编写程序的时候,我在网上看到别人的程序功能非常的详细,总希望自己的软件也非常的完善,但是,经过近一个个月的编辑,发现编一个优秀的程序决不是一蹴
而就的事情,需要长时间的积累和经验,而这个方面又是我们还是新手,因此,在我们合作之下,我们认清自己的不足及劣势,不要贪图大而全,只要尽我们所能,编制一个实用简单的程序也是件很不容易的事情。

在这个程序编写前我们先确定了这个程序需要哪几个类,为此我们实现了CNode ,CList ,Student三个类,后来又加了一个抽象类Wage ,它可以派生出后面的Student,也可以派生成其它的类型,作为一个通用性作用的数据类吧。

CNode 定义了指向Wage 的指针和指向其它数据的指针,它定义了一种结构供后面的CList 使用。

CList 就是对很多个 CNode对象进行操作的类,它只要记录一个链头就能找到链中所有Node.最后的Student类,就是将Data派生为具体的类。

在录入员工工资信息模块,我们主要采用最基本的函数来完成,因为员工的姓名等信息都是有限的,所以我们应用字符串来限制信息的大小。

在查询函数模块,我们采用了while的循环语句,说明查找员工不是整体的让我们去找,而是通过输入员工的部分信息,来直接查找你要的那个员工的全部信息。

再删除员工信息时同样采用了while语句。

在保存员工信息模块我们利用流文件保存员工信息函数,c++的I/O流类库我们掌握的并不是很好,在这块我们花费时间比较长,查阅了很多资料。

在反反复复的学习及向各方面请教之下,我们的辛勤努力有了回报,终于做出了一个简单的员工工资管理程序,虽然这个程序的功能非常的简单,而且我想,在实际的运用中,肯定会有所不足,因为员工工资管理工作的内容非常的丰富,我涉及到的仅仅是员工管理的一部分简单内容,离实际的客户需求肯定还有一定的差距。

但是,它毕竟代表了我们近一个月辛勤的结晶。

由于我的知识浅薄,经验不足及阅历颇浅,因此,在该系统的设计方面还有很多不足,比如功能过少,所以还有很大改善空间,但这一切都为我们以后的编程打下了基础,在以后的日子里我们会进一步完善自己。

提高自己对编程方面的实践能力。

在这次实践中,我们深深体会到只是需要实践的重要性,通过实践我们进一步发现自己的不足,欠缺,进而知道我们怎样深化理解,真正吸收所学的知识。

在这个过程中我们还了解了很多原本陌生的知识。

我们深刻体会出学习c++我们还有很长的路要走,相信只要我们继续努力,多加练习,一定会更加出色。

七、参考文献
[1]刘娜娜,刘恩军等编著,C++程序设计,北京航空航天大学出版社,2009
[2]宋红编著, C++语言程序设计,清华大学出版社,2008
[3]D.S.Malik 编著,C++基础教程,清华大学出版社,2006
[4]谭浩强编著,C++面向对象程序,清华大学出版社,2006
[5]李海文,吴乃陵编著,C++程序设计实践教程,高等教育出版社,2003
[6]刘璟,周玉龙编著,高级语言c++程序设计,北京高等教育出版社,2004
[7]王珊珊等编著,c++程序设计教程,北京机械工业出版社,2006
[8]和克智,c++程序设计(第二版),西安交通大学出版社,1999
八、组员分工
组长
:负责查找模块,浏览模块以及说明书;
组员
:负责增加模块,查阅资料;
:负责录入函数,保存函数;
:负责修改模块;
任务书及其其余应用函数是我们大家共同创作的成果。

九、源程序代码。

相关文档
最新文档