> # ♻️ 资源
> **大小:** 3.30MB
> **文档链接:**[**https://www.yuque.com/sxbn/ks/100010009**](https://www.yuque.com/sxbn/ks/100010009)
> **➡️ 资源下载:**[**https://download.csdn.net/download/s1t16/87247918**](https://download.csdn.net/download/s1t16/87247918)
> **注:更多内容可关注微信公众号【神仙别闹】,如当前文章或代码侵犯了您的权益,请私信作者删除!**
# 一、系统需求分析
一个好的公司总是有很多员工需要管理。公司有许多员工,每个员工拥有不同的属性,总的来说分为以下几种:
- 普通雇员;
- 项目经理;
- 销售经理;
- 销售人员;
- 技术人员。
公司可能扩大规模、增加员工数目,也可能奖励表现好的员工对其进行升职加薪等,或是对表现不好的员工进行处罚或者直接解雇。公司可能需要根据需要查询员工信息或进行整体上的统计。据此,提供功能如下:
- 录入数据;可以选择录入员工的类别和相应的属性;
- 修改数据:可以修改已经录入的员工属性;
- 查询数据:可以查询已经录入的员工属性;
- 删除数据:可以删除已经录入的员工资料;
- 统计数据:可以统计已经录入的员工属性。
可以通过以上功能录入信息、修改信息、查询信息、删除信息、整理统计出所要了解的信息,除了要实现上述的基本功能之外,本系统还应该在细节上下工夫,使用户使用方便,在使用的过程中保持一个愉快的心情。人事管理系统有广大的用户群,还可将之出售给其他公司的管理人员,也可以供给一般用户使用。总之该系统可以满足用户需求,实现对其旗下人员的人事管理工作。
# 二、总体设计
系统提供五大功能:录入、修改、查询、删除、统计。
在录入员工信息时根据系统提示选择员工类别逐一输入。每输入完一条信息,系统会提示是否继续输入,用户可以选择继续或返回主菜单。
在修改员工信息时,用户首先输入要修改的员工编号,系统会检索。如果不知道有哪些员工,还可以显示所有员工信息。如果系统中有该员工的相关信息,则系统首先会提示用户修改该员工的哪一部分信息,用户可自行选择。如果系统中没有该员工的相关信息,则系统会给相关提示之后返回主菜单,用户可以继续选择操作。
在查询员工信息时,用户可以输入要查询的员工编号,系统检索判断是否存在该员工的信息然后做出相应的提示。也可以直接选择显示全部员工信息。
在删除员工信息时,用户需要输入欲删除的员工编号,系统会检索,如果存在该员工则将之删除并给出相应提示。总之,用户可以方便的在系统提示下进行使用。
人事管理系统中功能模块图:
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692842797713-c4a38d0f-6029-49f3-8414-92cc73c43131.png#averageHue=%23619ed6&clientId=ub6212df3-29c6-4&from=paste&height=361&id=ua45be343&originHeight=451&originWidth=838&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=54799&status=done&style=none&taskId=ua2dfe500-a908-4f15-a85d-746da57aa26&title=&width=670.4)
# 三、详细设计
员工分为5类,其继承关系如下:
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692842814923-786f693e-8aca-4f92-ae24-87935890fb4e.png#averageHue=%23cce0f1&clientId=ub6212df3-29c6-4&from=paste&height=295&id=u011adc3b&originHeight=369&originWidth=644&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=35876&status=done&style=none&taskId=u713bebc6-32c2-459e-ace4-61480133e61&title=&width=515.2)
人事管理系统各功能模块的实现:
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692842827646-284a2a01-3c41-4cf8-8f86-8ca97be2d427.png#averageHue=%23cbdff1&clientId=ub6212df3-29c6-4&from=paste&height=164&id=ucb306767&originHeight=205&originWidth=843&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=15014&status=done&style=none&taskId=u3026c82c-927f-4530-89c3-4ca9ff98786&title=&width=674.4)
- 录入模块
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692842839742-4bfa5f67-8948-45c7-a985-ce30a16a2249.png#averageHue=%23c8ddf0&clientId=ub6212df3-29c6-4&from=paste&height=242&id=ub686f143&originHeight=303&originWidth=846&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=20550&status=done&style=none&taskId=u25e24480-cf43-472c-b8aa-2de5b342d34&title=&width=676.8)
- 修改模块
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692842851028-9427a284-d701-42d4-9fb4-aa2f82235b76.png#averageHue=%23c0d8ee&clientId=ub6212df3-29c6-4&from=paste&height=373&id=u9dfd6d81&originHeight=466&originWidth=843&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=25509&status=done&style=none&taskId=uf4144998-77de-489a-b08d-0b390220c5d&title=&width=674.4)
- 查询模块
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692842864162-4f72162e-f8be-43c7-9c93-3262d6662ecf.png#averageHue=%23c5dcf0&clientId=ub6212df3-29c6-4&from=paste&height=299&id=u37950bb1&originHeight=374&originWidth=860&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=23111&status=done&style=none&taskId=uee4f6fd7-e98f-4966-92ac-f9335303c9b&title=&width=688)
- 删除模块
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692842876367-8cf96714-2468-4cd6-8cdf-9555da87ce1e.png#averageHue=%23bfd8ee&clientId=ub6212df3-29c6-4&from=paste&height=271&id=u08b6071c&originHeight=339&originWidth=304&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=12530&status=done&style=none&taskId=u68d9ac1d-c9c2-40d0-b24e-717fa752693&title=&width=243.2)
- 统计模块
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692842886534-1657245a-42ae-447e-b5cf-2e7f22697114.png#averageHue=%2391bce2&clientId=ub6212df3-29c6-4&from=paste&height=292&id=u2fdb1c9b&originHeight=365&originWidth=311&originalType=binary&ratio=1.25&rotation=0&showTitle=false&size=12882&status=done&style=none&taskId=ua1ebdeeb-d9a8-4e86-97af-d2749b0c292&title=&width=248.8)
# 四、系统调试
系统调试遇到的第一个问题是数据文件不稳定。经过对系统结构特别是对数据文件读写过程的分析,确认问题出现在直接将对象用二进制写入文件这一方法上。由于使用了虚函数等与运行相关的多态,类的对象中有地址,一旦将这些地址写入文件,再读取时很有可能导致内存泄露而崩溃。为此,我修改了程序数据文件读写框架,为每个类都添加了从输入输出流以二进制形式读取写入数据的成员函数。这一过程中,我采用了在主函数中调用读取跟保存函数的方法,而这两个函数分别遍历程序数据库,实现对每一个对象的读取或写入。为了程序简洁清晰,后续开发中我将主函数单独放在一个文件中,其他实用函数单独形成文件,增加程序可读性。调试中遇到的其他问题还有命令行UI的问题,例如无法顺利退出某一层菜单,这是由于循环无法正确跳出导致的。在需要结束运行的地方适当地加break或return语句就可以解决。经过反复的调试,除了一些命令行本身的限制例如无法屏蔽输入法、无法同时监视Esc与键盘输入等用户体验的细节问题外,没有已知的Bug。通过这一工程的调试,我认识到类对象不能够轻易地直接二进制写入文件,通常要单独设置读写方法来保证稳定和安全,这为今后的开发提供了指导。
# 五、结果分析
![image.png](https://cdn.nlark.com/yuque/0/2023/png/2469055/1692844769906-d7ce8cd3-f405-4906-9ddb-da0f43465ad9.png#averageHue=%23131313&clientId=ub6212df3-29c6-4&from=paste&height=372&id=u1d3a3e24&originHeight=465&originWidth=1254&
没有合适的资源?快使用搜索试试~ 我知道了~
基于C++实现(控制台)人事管理系统【100010009】
共39个文件
o:14个
cpp:7个
h:6个
1.该资源内容由用户上传,如若侵权请联系客服进行举报
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
2.虚拟产品一经售出概不退款(资源遇到问题,请及时私信上传者)
版权申诉
5星 · 超过95%的资源 2 下载量 33 浏览量
2022-12-06
14:18:29
上传
评论 1
收藏 3.31MB ZIP 举报
温馨提示
详情介绍:https://www.yuque.com/sxbn/ks/100010009 系统提供五大功能:录入、修改、查询、删除、统计。 在录入员工信息时根据系统提示选择员工类别逐一输入。每输入完一条信息,系统会提示是否继续输入,用户可以选择继续或返回主菜单。 在修改员工信息时,用户首先输入要修改的员工编号,系统会检索。如果不知道有哪些员工,还可以显示所有员工信息。如果系统中有该员工的相关信息,则系统首先会提示用户修改该员工的哪一部分信息,用户可自行选择。如果系统中没有该员工的相关信息,则系统会给相关提示之后返回主菜单,用户可以继续选择操作。 在查询员工信息时,用户可以输入要查询的员工编号,系统检索判断是否存在该员工的信息然后做出相应的提示。也可以直接选择显示全部员工信息。 在删除员工信息时,用户需要输入欲删除的员工编号,系统会检索,如果存在该员工则将之删除并给出相应提示。总之,用户可以方便的在系统提示下进行使用。
资源推荐
资源详情
资源评论
收起资源包目录
100010009-基于C++实现(控制台)人事管理系统.zip (39个子文件)
sharp-personnel-manage
LICENSE 1KB
codes
classes
manager.h 776B
technician.h 957B
salesman.cpp 2KB
technician.cpp 2KB
employee.h 1KB
salemanager.h 795B
salemanager.cpp 2KB
employee.cpp 1KB
salesman.h 849B
manager.cpp 943B
utilities.cpp 32KB
main.cpp 5KB
utilities.h 1KB
documents
犀利人事管理系统.pdf 4.12MB
犀利人事管理系统.docx 181KB
project.codeblocks
personnelmanaging.cbp.bak 2KB
obj
Release
codes
classes
employee.o 4KB
salemanager.o 12KB
technician.o 6KB
salesman.o 5KB
manager.o 5KB
main.o 7KB
utilities.o 38KB
Debug
codes
classes
employee.o 19KB
salemanager.o 39KB
technician.o 24KB
salesman.o 24KB
manager.o 23KB
main.o 45KB
utilities.o 250KB
personnelmanaging.layout.bak 3KB
personnelmanaging.cbp 2KB
save.dat 120B
personnelmanaging.layout 3KB
bin
Release
犀利人事管理系统.exe 525KB
Debug
犀利人事管理系统.exe 1.25MB
personnelmanaging.depend 2KB
README.md 10KB
共 39 条
- 1
资源评论
- m0_743259702023-07-03资源有一定的参考价值,与资源描述一致,很实用,能够借鉴的部分挺多的,值得下载。
- L000lqw2023-02-13感谢大佬分享的资源给了我灵感,果断支持!感谢分享~
神仙别闹
- 粉丝: 3746
- 资源: 7464
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功