




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
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
7、保存文本 11五 总结 12致谢 13参考文献 14致谢 15第一章 软件需求分析说明书1.1问题描述某公司需要存储雇员的编号、姓名、性别、所在部门,级别,并进行工资的计算。其中,雇员分为经理、技术人员、销售人员和销售经理。设计一程序能够对公司人员进行管理,应用到继承、抽象类、虚函数、虚基类、多态和文件的输入/输出等内容。12功能要求1)添加功能:程序能够任意添加上述四类人员的记录,可提供选择界面供用户选择所要添加的人员类别,要求员工的编号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。2)查询功能:可根据编号、姓名等信息对已添加的记录进行查询,如果未找到,给出相应的提示信息
8、,如果找到,则显示相应的记录信息;3)显示功能:可显示当前系统中所有记录,每条记录占据一行。4)编辑功能:可根据查询结果对相应的记录进行修改,修改时注意编号的唯一性。5)删除功能:主要实现对已添加的人员记录进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作;否则,输入要删除的人员的编号或姓名,根据所输入的信息删除该人员记录,如果没有找到该人员信息,则提示相应的记录不存。6)统计功能:能根据多种参数进行人员的统计。例如,统计四类人员数量以及总数,或者统计男、女员工的数量等信息。第二章 系统分析与设计2.1 软件界面设计图2.1 主界面系统主界面,用户可以输入05进行选择。
9、图2.2 添加信息界面输入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<<
10、"员工编号:"< 员工姓名 :"< 员工年级 :"< 员工性别 :"< 员工职位 :"< 员工薪水 :"< file1.close(;用追加的方式打开字符流,将文件写到info1.txt文件中。2.3 软件的算法设计退出图2.6系统框架图当进入主界面后会有选择菜单,你可以根据需要进行选择:0-5,当你完成操作后可以退回到主界面,也可以直接退出系统。第三章 软件的实现3.1添加员工信息使用void AddItem(int,string,int,string,string,float函数进行员
11、工的添加。if(!head/首先创建链表,对链表进行初始化head=new Worker_pay;head->num=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!=num1t=t->next;if(t /判断储存编号是否存在cout<<"
12、操作失败;员工编号为"< 的信息已经存在 !"< Worker_pay * p=head;while(p->nextp=p->next;Worker_pay * p1=new Worker_pay;/将成员信息加入到链表中p1->num=num1;p1->name=name1;p1->age=age1;p1->sex=sex1;p1->department=department1;p1->wage=wage1;p1->next=NULL;p->next=p1;return;3.2删除员工信息使用void
13、 RemoveItem(int函数进行成员信息的删除,由于成员编号的唯一性,可以直接比较编号,找到后直接删除该信息。Worker_pay * Worker:Find(int num /寻找成员 if(ListCount=0cout<<"列表为空,请先输入数据!"< return NULL;Worker_pay * p=head;while(pif(p->num=num break;p=p->next;if(!pcout<<"错误,找不到该信息!"< return NULL;return p;Worker_p
14、ay * t=Find(num;if(!treturn;Worker_pay * p=head;if(head=t /判断是不是第一个元素head=head->next;delete p;cout<<"成功删除员工编号为"< 的信息 !"< returnwhile(p->next!=t /遍历链表,找到信息后删除p=p->next;Worker_pay * p1=p->next;p->next=p1->next;delete p1;cout<<"成功删除员工编号为"<
15、 的信息 !"< 3.3修改员工信息使用void ReplaceItem(int函数进行员工信息的修改 ,利用编号唯一性寻找到该成员,然后修改。 Worker_pay * p=Find(num; / 寻找到该成员if(!preturn;cout<<"请重新输入相应信息"< cout<<"员工编号:"cin>>p->num;cout<<"员工姓名:"cin>>p->name;3.4查找员工信息利用void Search(int函数进行信息的查找
16、。Worker_pay * p=Find(num;if(pcout<<"员工编号为"< 的员工工资信息 :"< cout<<"员工编号 员工姓名 年龄 性别 职位 工资"< cout< 3.5显示员工信息用void ListL(函数进行遍历链表,并输出信息。float sum=0;float aver=0;int n=0;if(ListCount=0cout<<"当前列表为空,请先输入数据!"< Worker_pay * p=head;while(p Disp
17、lay(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. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年中国液化石油气气机数据监测研究报告
- 2025至2030年中国户外装饰灯市场分析及竞争策略研究报告
- 2025年中国铜水暖件数据监测报告
- 2025年中国模拟扩录一体调音台数据监测报告
- 2025-2030中国温泉度假市场经营管理风险及未来投资效益可行性报告
- 2025年中国低糖杏脯数据监测报告
- 2025-2030中国柔性阻火胶行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国新鲜蔬菜果肉汁行业市场发展现状及竞争格局与投资前景研究报告
- 2025-2030中国挖掘机扫帚行业市场发展趋势与前景展望战略研究报告
- 2025-2030中国园林服务行业市场发展前瞻及投资战略研究报告
- 儿童长期卧床的护理
- 投标书细节美化教程
- 《小儿支气管肺炎》课件
- (完整版)年产30万吨甲醇工艺设计毕业设计
- 对辊式破碎机设计
- 财产险水灾现场勘查及理赔定损标准
- 中国思想史(全)
- journal of affective disorders投稿格式要求
- IPMP课程培训讲义
- 简述中国革命新道路的探索历程
- 牙颌面畸形-牵张成骨技术(口腔颌面外科课件)
评论
0/150
提交评论