没有合适的资源?快使用搜索试试~ 我知道了~
首页公司人员管理系统 实现公司人员的管理
公司人员管理系统 实现公司人员的管理
需积分: 31 15 下载量 55 浏览量
更新于2023-03-16
评论
收藏 165KB DOC 举报
某小型公司,主要有四类人员:经理、兼职技术人员、销售经理和兼职推销员。现在,需要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部信息。
资源详情
资源评论
资源推荐
C++课程设计
目录
1、 系统设计要求———————2
1-1 题目:公司人员管理系统——2
1-2 功能要求—————————2
1-3 问题的解决方案——————2
2、 设计思路———————— 2-3
3、 系统功能模块图—————3-4
4、 系统流程图———————4-6
5、 类的层次图———————7-8
6、 调试过程、使用说明————8
7、 关键程序代码——————8-26
8、 总结、心得体会—————26-28
8-1 设计感悟———————26-28
9、 参考书目————————28
1、 系统设计要求
1-1 题目:公司人员管理系统
1-2 功能要求:
某小型公司,主要有四类人员:经理、兼职技术人员、销售经理和兼职推销员。现在,需
要存储这些人员的姓名、编号、级别、当月薪水,计算月薪总额并显示全部信息。
要求:
1)其中,人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序加1。
2)程序对所有人员有提升级别的功能
3)月薪的计算方法是:经理拿固定月薪,兼职技术人员按工作小时数领取月薪,兼职推销
员的报酬按该推销员当月销售额提成 ,销售经理既拿固定月薪也领取销售提成。
4)能按姓名或者编号显示、查找、增加、删除和保存各类人员的信息。
1-3 问题的解决方案:
根据系统功能要求,可以将问题解决分为以下步骤:
(1)分析系统中的各个实体之间的关系及其属性和行为;
(2)根据问题描述,设计系统的类层次;
(3)完成类层次中各个类的描述(包括属性和方法);
(4)完成类中各个成员函数的定义;
(5)完成系统的应用模块;
(6)功能调试;
(7)完成系统总结报告以及系统使用说明书。
2、设计思路
使用面向对象的程序设计思想进行分析,整个系统涉及两大类信息和操作,公司,人
员。所以系统主要涉及两个大类:公司类business、人员类person。系统的总体框架就是
公司类,人员类的定义;主函数中定义一个公司对象,循环显示主菜单并根据用户选择调
用公司类的相应方法(成员函数)。
(1)公司类business:考虑系统操作的人员信息的数量具有不确定性,所以考虑使用链表保
存、处理人员信息。公司类包含:所有人员信息的一个不带头结点的链表(作为数据成
员)及可以对人员信息进行增,删,改,查询经营信息,基础数据设置,数据存盘,数据
装入等操作的相关模块(write,build,search,repair,delete,list)作为成员函数。
(2)人员类person:所有人员都具有的公共信息及操作可以使用人员类进行描述。由于系统
具有4类人员且4类人员数据,操作有所不同,如销售员包含销售额,而兼职技术人员包含
工作小时数且计算工资的方法不同,所以应当为4类人员创建相应的person类的派生类。
(3)为了使公司类可以方便处理人员信息,可以考虑将公司类确定为人员类的友元类或者人
员类提供公共的方法以便公司类进行操作。为了公司类可以用共同方法操作人员类,可以
将人员类的方法确定为虚函数。
3、系统功能模块
根据问题描述和要求,系统要求能够按姓名或者编号显示、查找、增加、删除和保存
各类人员的信息。确定程序至少应该具备如下功能:“查询人员”、“增加人员”、“删除人员”、“数
据存盘”基本模块。
系统既然具有“数据存盘”功能-人员数据可以保存到磁盘文件,那么也就意味着今后可
以从磁盘文件读出人员数据,所以系统增加了“人员数据装入”模块,以方便用户使用、避
免数据重复录入。考虑到系统实现简捷,人员数据文件采用文本文件,人员数据文件名:p
erson.txt。
做为一个完整系统,除了具有增加人员,删除人员信息模块,还应该具有修改人员相
关信息的功能,所以本系统设计时考虑增加“修改人员”模块。
考虑到根据编号查找人员信息功能在“删除人员”、“修改人员”等模块都使用,所以可以考
虑设置为一个模块。
考虑到系统要求人员编号在生成人员信息时同时生成,每输入一个人员信息编号顺序
加1。这样就要求人员编号在增加人员时自动生成(增加1)且不重复。根据这个要求,可以
考虑设置一个全局量:“当前最大编号”,每增加一个人员,当前最大编号自动增1,然后新
增加人员使用这个编号。为了保证系统能记忆这个编号,可以使用一个数据文件保存当前
这个编号。系统每次开始运行前从文件读入这个编号,随着人员增加,编号自动增加,系
统每次运行结束时将这个编号写入文件。本系统将初值(没有一个用户时)设置为0。
考虑到人员的许多固定信息如:经理、销售经理的固定月薪,销售经理、销售人员提
成,技术人员小时工资等都是一些不需要每个人员都要输入的信息,所以可以将这些信息
都保存在一个数据文件中,本系统为了方便起见,将这些信息与“最大编号”全部保存在一
个文件中。
综合考虑系统具有下面7项功能模块:增加人员,删除人员,修改人员。
系统使用的数据文件格式如下:
myfile.txt:(格式:项目 数据)
经理固定月薪 8000
销售经理固定月薪 5000
销售经理提成% 1
兼职推销员提成% 4
技术人员小时工资 100
ID 6
Person.txt:(格式:编号 ,姓名,人员类别,其它数据,销售员销售额,技术人员工作小时)
2 wang 3 2400000
3 liu 1
4 wu 4 100
5 huang 2
6 tao 3 150000
注:人员类型编号1-经理;2-销售经理;3-兼职推销员;4-技术人员
4、系统流程图
1)主函数流程
(2) business::write()
ÊäÈë¸Úλ
IDºÅÔö1
ÊäÈëÊý¾Ý£¬´´½¨Ô±¹¤¶ÔÏó½áµã
Ô±¹¤½áµã¼ÓÈëÁ´±í
¿ªÊ¼
½áÊø
(3) business::delete()
´´½¨¹«Ë¾ ¶ÔÏó
¿ªÊ¼
½áÊø
ÏÔʾ²Ëµ¥
¸ù¾ÝÊäÈë Ö´Ðй«Ë¾ ²Ù×÷
½ÓÊÜÊäÈë
Í˳ö ?
Y
N
²éÕÒҪɾ³ý½áµã
ÊäÈëÔ±¹¤ID
Á´±íɾ³ýÔ±¹¤½áµã
¿ªÊ¼
½áÊø
½áµã´æÔÚ?
ÌáʾδÕÒµ½
(4) business::repair()
²éÕÒ½áµã
ÊäÈëÔ±¹¤ID
Ð޸Ľáµã
¿ªÊ¼
½áÊø
½áµã´æÔÚ?
ÌáʾδÕÒµ½
(5)business::search()
±éÀúÁ´±í±£´æÈËÔ±Êý¾Ý
´ò¿ªÔ±¹¤Êý¾ÝÎļþ
¿ªÊ¼
½áÊø
¹Ø±ÕÎļþ
±£´æ»ù´¡ Êý¾Ý
´ò¿ª»ù´¡Êý¾ÝÎļþ
¹Ø±ÕÎļþ
(6) business::build()
¶ÁÈ¡»ù´¡ Êý¾Ý
´ò¿ªÔ±¹¤Êý¾ÝÎļþ
¿ªÊ¼
½áÊø
¹Ø±ÕÎļþ
¶ÁÈ¡Ò»Ìõ ¼Ç¼
´ò¿ªÈËÔ±Êý¾ÝÎļþ
¹Ø±ÕÎļþ
Îļþδ½áÊø
¸ù¾ÝÈËÔ±ÀàÐÍ´´½¨½áµã
Á´±í¼ÓÈë ½áµã
¶Á ÏÂÃæ Ò»ÐмǼ
Y
N
剩余28页未读,继续阅读
lc880519
- 粉丝: 0
- 资源: 1
上传资源 快速赚钱
- 我的内容管理 收起
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
会员权益专享
最新资源
- zigbee-cluster-library-specification
- JSBSim Reference Manual
- c++校园超市商品信息管理系统课程设计说明书(含源代码) (2).pdf
- 建筑供配电系统相关课件.pptx
- 企业管理规章制度及管理模式.doc
- vb打开摄像头.doc
- 云计算-可信计算中认证协议改进方案.pdf
- [详细完整版]单片机编程4.ppt
- c语言常用算法.pdf
- c++经典程序代码大全.pdf
- 单片机数字时钟资料.doc
- 11项目管理前沿1.0.pptx
- 基于ssm的“魅力”繁峙宣传网站的设计与实现论文.doc
- 智慧交通综合解决方案.pptx
- 建筑防潮设计-PowerPointPresentati.pptx
- SPC统计过程控制程序.pptx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0