ImageVerifierCode 换一换
格式:DOCX , 页数:31 ,大小:467.02KB ,
资源ID:4199257      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/4199257.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(工资管理系统课程设计用心整理精品资料.docx)为本站会员(b****4)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

工资管理系统课程设计用心整理精品资料.docx

1、工资管理系统课程设计用心整理精品资料 计算机科学与技术学院C高级语言程序设计课程设计报告 (2012/2013学年 第一学期)学生姓名: 茹伟专业班级: 计算机112002班学生学号: 201120010220指导教师: 王艳 2012年12月29日工资管理系统的设计与实现 (一)课题的来源和研究意义 4 (二)课题的开发环境 4 (三)本课题要达到的设计目标 5附录2程序清单-一 目的和要求(一)课题的来源和研究意义随着计算机的日益普及和网络的发展,数据库的应用范围越来越广,数据库应用的功能也越来越强,因此编写管理信息系统应用程序也显得尤为重要,在强调管理,强调信息的现代社会中它变得越来越普

2、及。工资管理是任何企事业单位都需要进行的一项工作,因此,开发制作工资管理系统具有较大的社会现实意义,同时工资管理系统是一切应用系统的典范,它具有一切应用系统的特征,系统结构与现实生活紧密结合,具体直观,具有典范的数据库系统的特性。工资管理系统主要用于企业内部员工的档案、工资、考勤、评价的管理,便于公司领导掌握人员的动向,及时调整人才的分配,同时也减少了手工操作带来的一些繁琐与不便,使员工情况的记录和统计变得十分简单.这些优点可以极大的提高企业对人事管理的效率。因此,工资管理系统是企事业信息化、智能化、科学化和正规化不可缺少的管理软件。(二)课题的开发环境本系统的设计是在Windows xp中文

3、版操作系统环境下,使用Visual C+ 6.0中文版开发成功的。数据库SQL是其中的重要支持技术,在数据库开发过程中,如何选择数据库管理是一个重要的问题,目前,数据库产品较多,每种产品都具有各自的特点和适用范围,因此,在选择数据库时,应考虑数据库应用的特点及适用范围,本系统选用的数据库语言介绍如下:C+语言。C+是一种使用非常广泛的计算机编程语言.C+是一种静态数据类型检查的、支持多重编程范式的通用程序设计语言。它支持过程化程序设计、数据抽象、面向对象程序设计、制作图标等等泛型程序设计等多种程序设计风格。C+引入了面向对象的概念,使得开发人机交互类型的应用程序更为简单、快捷。很多优秀的程序框

4、架包括MFC、QT、wxWidgets就是使用的C+。(三)本课题要达到的设计目标工资管理信息系统的开发目标是:克服现在工资管理中存在的人工管理,统计与查询单一、管理效率低下等问题;能科学有效的管理工资,方便地查询和统计人员、工资等情况,对所需要的数据以表格形式显示,以报表形式打印,并为将来进一步扩充和发展工资管理系统奠定基础.二 课程设计任务内容 (一)系统功能分析系统开发的总体任务是要实现企业人事信息关系的系统化,规范化和自动化.系统功能分析是在系统开发的总体任务的基础之上完成的。工资管理系统主要有以下几项功能:1.员工档案的管理:包括员工基本信息,姓名和工号。2.员工工资的管理:包括工资

5、的添加,工资报表的查询,修改和删除.3.月份工资的管理:包括添加某月某员工的工资和查询某月所有员工的工资信息。4.员工补贴的管理:包括津贴,房贴和交通费的输入,计算和修改。5.员工扣除的管理:包括房租,会费和税务的输入,修改和计算。6.计算:对工资各项数据进行汇总计算。7。保存信息和退出系统。8.管理员以及其它功能模块。(二)功能模块图 根据系统功能的要求,可以将系统分解成几个功能模块来分别设计,功能模块如图21所示 图2-1 功能模块图三、详细设计任务内容(一)系统功能和流程数据库的设计是指对于一个给定的应用环境,构造最有效的数据库模式,建立数据及应用系统,实质能够有效地存储数据,满足用户的

6、需求,数据库设计是在数据库管理系统支持下进行的。根据功能模块图,可以列出以下数据项和数据结构:员工信息:工号,姓名。工资管理:工号,月份,姓名,底薪,津贴,房贴,交通费,应发工资,实发工资.员工扣除管理:工号,月份,姓名,房租,会费,税务,应扣数。管理员:编号,用户名,密码。(二)程序流程图得到上面的数据项和数据结构以后,就可以设计出能够满足用户需求的各种实体,以及它们之间的关系,为后面的逻辑结构设计打下基础。这些实体包含各种具体信息,通过相互之间的作用形成数据的流动。根据上面的设计规划出的实体有:员工基本信息实体,员工考勤信息实体,员工工作评价信息实体,员工工资信息实体,人事变动实体,部门管

7、理实体.根据实体之间的联系得出程序流程图如图31所示。 否 是 是 否 否 是 图3-1 程序流程图 (三)数据库逻辑结构设计及函数功能表根据实体间联系模型的需求分析,本系统需要设计工资管理,考勤管理,员工信息3个表来管理员工数据。具体数据表的设计如下面的表格所示。 表31 工资管理表字段名数据类型长度是否为空说明gzidVarchar10Not null工号gznameVarchar8Not null姓名dixinMoney8Not null底薪fangtieMoney8null房贴jiaotongfeiMoney8null交通费fangzuMoney8null房租huifeiMoney8n

8、ull会费suodeshuiMoney8null所得税 表32 员工档案信息表 字段名数据类型长度是否为空说明ygidVarchar10Not null工号ygnameVarchar20Not null姓名namechar20Not null管理员用户名passwordchar8Not null密码 表33 函数功能表Add()添加信息Delete()删除信息Search(char nu)根据职工号查找ReadFile()从文件中读取信息WriteFile()向文件中写入信息Display()在屏幕中输出全部信息Print()输出表头Print2()按月份输出所有职工的工资信息Print1(c

9、har nu)按职工编号输出所有职工的工资信息,带有返回值Change()修改信息 四、系统详细设计与模块的具体实现(一)系统的主界面 在登陆主界面之前,首先登记用户管理窗体: 否 是 是 否 图4-1 登陆流程图 图42 管理员登陆界面(二)员工信息管理模块登入后界面如图: 图4-3 主菜单图 可以选择0-9并Enter来进行操作;选择1可以进行添加职工信息,输入职工编号和姓名来编入职工。如果输入的职工编号重复,则不能输入该信息,如图: 图4-4 员工重复效果图 选择2可以查看所有职工的信息和编号。 选择3可以删除职工信息。(三)员工工资管理模块 选择4可以添加工资信息.如图: 图4-5 工

10、资信息输入图 依次输入编号,月份,基本工资,津贴,房贴,交通费,房租和会费,Enter后可以添加信息了。选择7就可以查看刚刚输入的工资信息了,如图;实际发放工资也计算显示了: 图4-6 职工工资图 选择5可以修改信息,比如基础工资,津贴,房贴等数据的改动都可以修改。 选择6则可以删除工资信息,可以选择某个月份,删除该月的工资信息. 选择8则是输出显示某个月的全部职工工资信息,如图: 图47工资信息输出图 (四)保存退出和软件测试 选择9可以保存信息,刚添加的信息需要保存,如果不保存,则退出系统后该信息就会消失。选择0则是退出系统。 图4-8 退出系统图4。4。1 确认测试确认测试是根据软件需求

11、说明书中定义的全部功能、性能要求以及确认测试计划来测试整个软件系统是否达到了要求,确认测试是软件产品实际应用之前一道完整又系统的检验,是软件质量保证的最后一个环节.4.4.2测试结果分析测试结果表明,由测试用例基本上能产生预期的结果,本系统具有很好的抗错能力.由于在设计过程中对数据的输入都进行了合法性检查,从而保证的数据的正确性。对于在测试过程中发现的错误,通过利用归纳、演绎和回朔等技术有效地排除了错误,从根本上保证了系统的质量。五、心得与体会经过四周的C+课程实践,我对C+语言设计有了一个更深,更全面的了解,尤其体会到了C+面向对象操作对简化程序的重要作用。下面是我的几点体会:刚拿到课题时,

12、我一脸的茫然,看到如此庞大的工程,不知如何下手。这个工资管理系统中职工子信息竟然包含15条,以前从来没有遇到过如此多的变量.和同学讨论很久好,我发现其实可以化繁为简的,信息中15条不一定全都要,因为其中本身就有重复的,例如津贴和补贴。并且可以有一个pay的数组来处理数据.所以做任何事情都必须要开动脑筋,积极思考,有时还要学会化繁为简。在编程时条理清晰是至关重要的.主函数,函数,成员函数之间的层次关系,调用关系一定要有一个全面的把握,尤其要体会类的封装性。另外很重要的一点就是一定要对链表的五种操作熟练的掌握。在编译,链接,调试的过程中一定要有耐心。因为一个程序中会有很多小的错误,甚至有的问题要几

13、个小时才能解决。遇到问题,一定要全面分析,有时候还要向同学请教。总得来说,编程时极需要耐心的.还有程序里虽然可以运行了,但是应该有的功能也没有,比如说输入职工信息时,输入的职工工号和原来储存的信息里有的工号不能重复,避免输入错误,照成不必要的损失。总之,C+课程设计实践为我们提供了一个综合运用所学知识,解决实际问题的平台,增强了我们实践动手的能力和工程实践能力,并且锻炼和培养了我们的自学能力,让我们对C+有了一个更全面的了解。附录1 参考文献谭浩强编著,C+程序设计,清华大学出版社,2004陈文宇,张松梅编著,C+语言教程,电子科技大学出版社,2004附录2 程序清单源代码如下:include

14、#include#includeint j;includeiomanipusing namespace std;class GZ;struct zhigongchar number10;char name15;struct Zhigongzhigong zg;Zhigong next;;class ZG/定义一个职工类Zhigong *head; /头指针Zhigong *p; /当前指针public:ZG()head=p=NULL; ; void Add(); void Delete(); /删除职工 int Search(char nu); /根据职工号查找 void ReadFile()

15、; /从文件中读取职工信息 void WriteFile(); /向文件写入职工信息 void Display(); /在屏幕中输出全部职工信息 void Print(char nu); void Print(); friend class GZ;void ZG:Add()p=new Zhigong;coutpzg.number;if(Search(pzg。number)=0)cout” t 请输入职工姓名:;cinp-zg。name; p-next=head; /头插入建链表 head=p; coutendl;elsecoutnt已经存在该职工,不能重复添加!gh; while(q!=NUL

16、L) n+; if(strcmp(q-zg。number ,gh)=0) break; q=qnext; if(q=NULL)cout不存在该职工!”endl; else if(n=1)head=head-next; else for(int i=1;inext; cout删除成功!zg。number,nu)=0) break; q=qnext; if(q=NULL)return 0;else return 1;/void ZG::ReadFile()p=new Zhigong; ifstream fip(职工信息。dat,ios:inios:binary); if(!fip)cout未创建该

17、文件!”zg ,sizeof(pzg)) pnext=head; head=p; p=new Zhigong; fip。close(); delete p;/void ZG::WriteFile() Zhigong s=head; ofstream fop; fop.open(职工信息。dat,ios::binary|ios:trunc); if(!fop) coutzg ,sizeof(s-zg))) s=snext; fop.close(); /void ZG:Print()coutttsetiosflags(ios:left)setw(10)职工编号”setiosflags(ios:le

18、ft)setw(15)职工姓名zg.number,nu)=0) break; q=qnext; if(q!=NULL) Print();couttt”setiosflags(ios::left)setw(10)qzg.number setiosflags(ios:left)setw(15)qzg。nameendl; else cout”职工不存在”endl;/void ZG::Display() if(head=NULL) cout没有职工信息!nn”; else Zhigong *k=head; Print(); while(k) coutttsetiosflags(ios:left)zg。

19、number setiosflags(ios::left)setw(15)kzg。nameendl; k=k-next; /struct gongzichar month7;char num10;float dixin;float jintie;float fangtie;float jiaotongfei;float fangzhu;float huifei;float yingfa;float suodesui;float yingkou;float shifa;struct Gongzigongzi gz;Gongzi *next;class GZ/定义一个职工类Gongzi head;

20、 /头指针Gongzi *p; /当前指针public:GZ()head=p=NULL; ; void Add(); void Delete(); /删除 void Change(); void ReadFile(); /从文件中读取职工信息 void WriteFile(); /向文件写入职工信息 void Print1(); /按职工编号输出所有职工的工资信息 int Print1(char nu);/按职工编号输出所有职工的工资信息,带有返回值 void Print2(); /按月份输出所有职工的工资信息 void Print(); /输出表头 ;void GZ:Add()ZG A;A.

21、ReadFile();p=new Gongzi;coutp-gz。num; if(A.Search(p-gz.num)=1) coutpgz。month; coutpgz.dixin;coutp-gz。jintie;cout”房贴:”;cinp-gz.fangtie ;coutpgz.fangzhu;coutp-gz。huifei ;pgz.yingfa=pgz。dixin+p-gz.jintie+p-gz。fangtie+pgz.jiaotongfei;if(pgz。yingfagz。suodesui=0;else p-gz。suodesui=(p-gz.yingfa-2000)*0。2;p

22、gz。yingkou=p-gz。fangzhu+p-gz。huifei+p-gz。suodesui;p-gz.shifa=pgz。yingfa-p-gz.yingkou; p-next=head; /头插入建链表 head=p; else cout没有该职工,不能添加工资信息!endl;void GZ::Print()coutsetiosflags(ios:left)setw(7)”月份setiosflags(ios::left)setw(9)”职工编号”setiosflags(ios::left)setw(7)底薪”setiosflags(ios::left)setw(5)”津贴setios

23、flags(ios::left)setw(5)房贴setiosflags(ios::left)setw(7)”交通费”setiosflags(ios::left)setw(7)”应发数”setiosflags(ios::left)setw(5)房租”setiosflags(ios:left)setw(5)”会费setiosflags(ios:left)setw(7)所得税setiosflags(ios::left)setw(7)应扣数setiosflags(ios:left)setw(7)实发数endl;/void GZ::Print1()int n=0;char nu10;cout”nntt

24、请输入职工编号:”;cinnu;if(head=NULL) coutgz。num,nu)=0)n+;p=pnext;if(n!=0)p=head;Print();while(p) if(strcmp(p-gz.num,nu)=0)coutsetiosflags(ios::left)setw(7)pgz.month setiosflags(ios::left)setw(9)gz.numsetiosflags(ios::left)setw(7)gz.dixin setiosflags(ios:left)gz。jintie setiosflags(ios:left)setw(5)gz。fangtie setiosflags(ios::left)setw(7)gz.jiaotongfei setiosflags(ios::left)setw(7)pgz。yingfasetiosflags(ios:left)setw(5)p

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1