《C++课程设计_企业员工工资管理系统.doc》由会员分享,可在线阅读,更多相关《C++课程设计_企业员工工资管理系统.doc(19页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、重庆科技学院面向对象程序设计课程设计报告 学 院:_电气与信息工程学院_ 专业班级: 学生姓名: 学 号: 设计地点(单位)_ _ 计算机基础自主学习中心 _ _ _ 设计题目:_ _公司员工信息管理系统设计 完成日期:2013年 1 月 16 日 指导教师评语: _ _ 成绩(五级记分制):_ 指导教师(签字):_ 摘要在市场竞争化日益严剧的今天,良好的公司人员信息管理系统越来越被人们所需要。人员的来去,职位的升迁,薪水的统计等等,这一切在用以往的人力统计的方式来解决已经不适合于拥有上万职工的大型企业,拥有良好的管理系统已经成为企业成功的必需品。论文对公司人员管理系统的介绍,使用类的思想加以
2、链表的方式来实现,把公司人员的信息都存入链表中。其中拥有添加员工信息,删除员工信息、修改员工信息、查询员工信息等功能,以帮助用户更方便快捷的管理员工信息。关键字:管理系统 类 链表重庆科技学院课程设计任务书设计题目:公司员工信息管理系统设计学生姓名课程名称面向对象程序设计专业班级计科1102地 点I306起止时间2013年1月7日1月18日设计内容及要求1)问题描述某公司需要存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。其中,雇员分为经理、技术人员、销售人员和销售经理。设计一程序能够对公司人员进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。2)功能要
3、求(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年其它说明.本表应在每次实施前一周由负责教师填写二份,院系审批后交院系办备案,一份由负责教师留用。.若填写内容较多可另纸附后。3.一题多名学生共
6、用的,在设计内容、参数、要求等方面应有所区别。教研室主任: 指导教师:裴仰军/伍建全/焦晓军/陈应祖 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 保存文本11五 总结12致谢13参考文献14致谢
7、15第一章 软件需求分析说明书1.1问题描述某公司需要存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。其中,雇员分为经理、技术人员、销售人员和销售经理。设计一程序能够对公司人员进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。12功能要求1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息,如果找到,则显示相应的记录信息;3)显示功能:可显示当前
8、系统中所有记录,每条记录占据一行。4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。6)统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,或者统计男、女员工的数量等信息。第二章 系统分析与设计2.1 软件界面设计图2.1 主界面系统主界面,用户可以输入05进行选择。图2.2 添加信息界面输入1添加员工详细信息图2.3 删除
9、界面输入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员工编号:num1 员工姓名:name1 员工年级:age1员工性别:sex1员工职位:dep
10、artment1员工薪水:wage1num=num1;head-name=name1;head-age=age1;head-sex=sex1;head-department=department1;head-wage=wage1;head-next=NULL;return;Worker_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
11、-name=name1;p1-age=age1;p1-sex=sex1;p1-department=department1;p1-wage=wage1;p1-next=NULL;p-next=p1;return;3.2删除员工信息使用void RemoveItem(int)函数进行成员信息的删除,由于成员编号的唯一性,可以直接比较编号,找到后直接删除该信息。Worker_pay * Worker:Find(int num) /寻找成员 if(ListCount=0)cout列表为空,请先输入数据!num=num) break;p=p-next;if(!p)cout错误,找不到该信息!next;
12、delete p;cout成功删除员工编号为num的信息!next!=t) /遍历链表,找到信息后删除p=p-next;Worker_pay * p1=p-next;p-next=p1-next;delete p1;cout成功删除员工编号为num的信息!endl;3.3修改员工信息使用void ReplaceItem(int)函数进行员工信息的修改 ,利用编号唯一性寻找到该成员,然后修改。 Worker_pay * p=Find(num); / 寻找到该成员if(!p)return;cout请重新输入相应信息endl;coutp-num;coutp-name;3.4查找员工信息利用void
13、Search(int)函数进行信息的查找。 Worker_pay * p=Find(num);if(p)cout员工编号为num的员工工资信息:endl;cout员工编号 员工姓名 年龄 性别 职位 工资endl;Display(p);coutendl;3.5显示员工信息用void ListL()函数进行遍历链表,并输出信息。float sum=0;float aver=0;int n=0;if(ListCount=0)cout当前列表为空,请先输入数据!wage;p=p-nextreturn;第四章 软件使用说明书4.1 主界面图2.7 主界面用户可以根据需要进行系统功能的使用,输入1-5进
14、入使用,输入0退出系统4.2添加信息图2.8 添加信息输入1进入添加信息功能,输入你所要添加的信息,输入信息完毕之后根据需要是否要继续添加,需要继续添加,不需要输入-1,返回主界面4.3删除信息图2.9删除信息输入2进入添加信息功能,输入你所要删除的信息,输入信息完毕之后可以看见删除成功,继续删除输入编号,不需要输入-1,返回主界面。4.4修改信息 图2.10修改信息输入3进入修改信息功能,输入你所要修改的信息,输入信息完毕之后可以看见修改成功,继续修改输入编号,不需要输入-1,返回主界面。4.5查找信息图2.11 查找信息输入4进入查找信息功能,输入你所要查找的信息,输入信息完毕之后可以看见
15、信息输出,继续查询输入编号,不需要输入-1,返回主界面。4.6显示员工信息图2.12 显示员工信息输入5进入显示信息功能,屏幕输出所有成员信息,输入-1返回主界面。4.7退出界面 图2.13 退出界面4.8 保存文本图2.14保存文本五 总结通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固。要继续努力。致谢 感谢老师给予我C+课程的教导,感谢同学等给予我的帮助。非常感谢。参考文献1 严蔚敏 吴伟民 数据结构(C语言版)清华大学出版社,20002 陈天华编.面向对象程序设计与Visual C+6.0教程M.北京:清华大学出版社,2006