C++课程设计-企业员工工资管理系统_第1页
C++课程设计-企业员工工资管理系统_第2页
C++课程设计-企业员工工资管理系统_第3页
C++课程设计-企业员工工资管理系统_第4页
C++课程设计-企业员工工资管理系统_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、重庆科技学院面向对象程序设计课程设计报告重庆科技学院面向对象程序设计课程设计报告学 院:_电气与信息工程学院_ 专业班级: 学生姓名: 学 号: 设计地点(单位)_ _ 计算机基础自主学习中心 _ _ _ 设计题目:_ _公司员工信息管理系统设计 完成日期:2013年 1 月 16 日 指导教师评语: _ _ 成绩(五级记分制):_ 指导教师(签字):_ IV摘要在市场竞争化日益严剧的今天,良好的公司人员信息管理系统越来越被人们所需要.人员的来去,职位的升迁,薪水的统计等等,这一切在用以往的人力统计的方式来解决已经不适合于拥有上万职工的大型企业,拥有良好的管理系统已经成为企业成功的必需品。论文

2、对公司人员管理系统的介绍,使用类的思想加以链表的方式来实现,把公司人员的信息都存入链表中。其中拥有添加员工信息,删除员工信息、修改员工信息、查询员工信息等功能,以帮助用户更方便快捷的管理员工信息。关键字:管理系统 类 链表重庆科技学院课程设计任务书设计题目:公司员工信息管理系统设计学生姓名课程名称面向对象程序设计专业班级计科1102地 点I306起止时间2013年1月7日1月18日设计内容及要求1)问题描述某公司需要存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算.其中,雇员分为经理、技术人员、销售人员和销售经理.设计一程序能够对公司人员进行管理,应用到继承、抽象类、虚函数、虚基类

3、、多态和文件的输入/输出等内容。2)功能要求(1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。(2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;(3)显示功能:可显示当前系统中所有记录,每条记录占据一行。(4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性.(5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;

4、否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。(6)统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,或者统计男、女员工的数量等信息。3)问题的解决方案根据系统功能要求,可以将问题解决分为以下步骤:(1)应用系统分析,建立该系统的功能模块框图以及界面的组织和设计;(2)分析系统中的各个实体及它们之间的关系;(3)根据问题描述,设计系统的类层次;(4)完成类层次中各个类的描述;(5)完成类中各个成员函数的定义;(6)完成系统的应用模块;(7)功能调试;(8)完成系统总结报告.根据题目要求,运用所学知识,完成

5、设计和实现工作,并按照书写规范,撰写课程设计报告.设计参数(1)系统分析、设计正确。(2)结果以图表方式显示.(3)界面简洁、美观。(4)报告格式规范。进度要求周一:明确设计任务,学习相关基础知识周二:熟悉各知识点,进行基础练习周三:根据题目要求,进行设计和实现周四:根据题目要求,进行设计和实现周五:程序测试参考资料1Richard Johnsonbaugh。 Martin Kalin。面向对象程序设计-C+语言描述。机械工业出版社。2009年2钱能。+语言程序设计教程.清华大学出版社.2005年其它说明。本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。.

6、若填写内容较多可另纸附后。3.一题多名学生共用的,在设计内容、参数、要求等方面应有所区别.教研室主任: 指导教师:裴仰军/伍建全/焦晓军/陈应祖 2013年1月1日目 录第一章软件需求分析说明书11。1问题描述112功能要求1第二章系统分析与设计22.1 软件界面设计22。2 软件的数据(结构)设计32。3 软件的算法设计4第三章软件的实现53。1添加员工信息53.2删除员工信息63.3修改员工信息63。4查找员工信息73。5显示员工信息7第四章软件使用说明书84.1 主界面84。2添加信息84。3删除信息84.4修改信息94.5查找信息104。6显示员工信息104。7退出界面114。8 保存

7、文本11五 总结12致谢13参考文献14致谢155第一章 软件需求分析说明书1.1问题描述某公司需要存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。其中,雇员分为经理、技术人员、销售人员和销售经理。设计一程序能够对公司人员进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。12功能要求1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,

8、则显示相应的记录信息;3)显示功能:可显示当前系统中所有记录,每条记录占据一行.4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。6)统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,或者统计男、女员工的数量等信息.第二章 系统分析与设计2.1 软件界面设计图2。1 主界面系统主界面,用户可以输入05进行选择。图2。2 添

9、加信息界面输入1添加员工详细信息图2.3 删除界面输入2进入删除界面,输入你要删除的编号进行删除图2.4 修改界面输入3进行修改,先输入编号进行确定,再进行删除。图2。5 退出界面输入0退出系统。2。2 软件的数据(结构)设计对整个软件使用的文件功能、文件内部的数据格式进行说明void Worker::Recordinfo(int num1,string name1,int age1,string sex1,string department1,float wage1) ofstream file1("info1.txt",ios::app);file1<<&q

10、uot;员工编号:”<<num1” 员工姓名:"<name1<<” 员工年级:"<age1"员工性别:"<sex1<<"员工职位:”<department1<<"员工薪水:”wage1<endl;file1。close();用追加的方式打开字符流,将文件写到info1。txt文件中。2.3 软件的算法设计主菜单修改员工信息查找员工信息输出全体员工信息删除员工信息添加员工信息退出图2。6系统框架图当进入主界面后会有选择菜单,你可以根据需要进行选择:0-5,当你

11、完成操作后可以退回到主界面,也可以直接退出系统。第三章 软件的实现3。1添加员工信息使用void AddItem(int,string,int,string,string,float)函数进行员工的添加。if(!head)/首先创建链表,对链表进行初始化head=new Worker_pay;head->num=num1;head>name=name1;headage=age1;headsex=sex1;head>department=department1;head>wage=wage1;head-next=NULL;return;Worker_pay * t=hea

12、d;while(t&&tnum!=num1)t=t-next;if(t) /判断储存编号是否存在cout<<"操作失败;员工编号为”<num1”的信息已经存在!!”<endl;return;Worker_pay p=head;while(pnext)p=p-next;Worker_pay * p1=new Worker_pay;/将成员信息加入到链表中p1>num=num1;p1>name=name1;p1-age=age1;p1sex=sex1;p1department=department1;p1-wage=wage1;p1ne

13、xt=NULL;p>next=p1;return;3。2删除员工信息使用void RemoveItem(int)函数进行成员信息的删除,由于成员编号的唯一性,可以直接比较编号,找到后直接删除该信息。Worker_pay Worker:Find(int num) /寻找成员 if(ListCount=0)cout"列表为空,请先输入数据!"<endl;return NULL;Worker_pay * p=head;while(p)if(p-num=num) break;p=pnext;if(!p)cout”错误,找不到该信息!!"endl;return

14、NULL;return p;Worker_pay t=Find(num);if(!t)return;Worker_pay * p=head;if(head=t) /判断是不是第一个元素head=head->next;delete p;cout<”成功删除员工编号为"num<<”的信息!”endl;returnwhile(p->next!=t) /遍历链表,找到信息后删除p=pnext;Worker_pay * p1=p>next;p->next=p1->next;delete p1;cout<<”成功删除员工编号为”<

15、num"的信息!"<endl;3.3修改员工信息使用void ReplaceItem(int)函数进行员工信息的修改 ,利用编号唯一性寻找到该成员,然后修改。 Worker_pay p=Find(num); / 寻找到该成员if(!p)return;cout<<"请重新输入相应信息"<<endl;cout<"员工编号:”;cin>>p>num;cout<”员工姓名:”;cin>>pname;3.4查找员工信息利用void Search(int)函数进行信息的查找。 Work

16、er_pay p=Find(num);if(p)cout<<”员工编号为”num<”的员工工资信息:"<<endl;cout<"员工编号 员工姓名 年龄 性别 职位 工资”endl;Display(p);cout<endl;3。5显示员工信息用void ListL()函数进行遍历链表,并输出信息。float sum=0;float aver=0;int n=0;if(ListCount=0)cout<”当前列表为空,请先输入数据!”<endl;return;Worker_pay * p=head;while(p) Dis

17、play(p);n+;sum+=p>wage;p=p->nextreturn;第四章 软件使用说明书4。1 主界面图2。7 主界面用户可以根据需要进行系统功能的使用,输入1-5进入使用,输入0退出系统4.2添加信息图2.8 添加信息输入1进入添加信息功能,输入你所要添加的信息,输入信息完毕之后根据需要是否要继续添加,需要继续添加,不需要输入-1,返回主界面4。3删除信息图2。9删除信息输入2进入添加信息功能,输入你所要删除的信息,输入信息完毕之后可以看见删除成功,继续删除输入编号,不需要输入-1,返回主界面.4。4修改信息 图2.10修改信息输入3进入修改信息功能,输入你所要修改的信息,输入信息完毕之后可以看见修改成功,继续修改输入编号,不需要输入1,返回主界面.4.5查找信息图2。11 查找信息输入4进入查找信息功能,输入你所要查找的信息,输入信息完毕之后可以看见信息输出,继续查询输入编号,不需要输入1,返回主界面。4.6显示员工信息图2.12 显示员工信息输入5进入显示信息功能,屏幕输出所有成员信息,输入1返回主界面。4。7退出界面 图2.13 退出界面4.8 保存文本图

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论