要求
员工管理系统功能介绍:
1)服务器负责管理所有员工表单(以数据库形式),其他客户端可通过网络连接服务器来查询员工表单。
2)需要账号密码登陆,其中需要区分管理员账号还是普通用户账号。
3)管理员账号可以查看、修改、添加、删除员工信息,同时具有查询历史记录功能,管理员要负责管理所有的普通用户。
4)普通用户只能查询修改与本人有关的相关信息,其他员工信息不得查看修改。
5) 服务器能同时相应多台客户端的请求功能。并发
流程图
![](https://img-blog.csdnimg.cn/img_convert/eadd70baf6f04fe28bcf71a9925ba6c8.png)
![](https://img-blog.csdnimg.cn/img_convert/f67aa3dccaf54c73a852c074cd1f82fb.png)
项目原理
使用epoll实现并发的tcp服务器
使用sqlite数据库保存员工信息
实现过程
在数据库中创建一个staff表用来存储员工信息,设置员工的工号为主键,用户类型分为管理员(2)和普通用户(1),在程序中把员工信息封装为一个结构体,再封装一个用于服务器与客户端通信的结构体,包括员工信息结构体,通信结构体中会有一个消息类型成员,客户端实现不同的功能会向服务器发送不同的消息类型,服务器根据接收到的消息类型来实现客户端相应的请求。其中管理员查询历史纪录的功能,是当有员工信息发生改变时,会记录到数据库中的history表中,同时也会记录是管理员还是普通用户在登录时发生的改变。
效果演示
普通用户登录
![](https://img-blog.csdnimg.cn/img_convert/44b79bc49faf4ebeb6510c5cdda558dc.png)
管理员登录
![](https://img-blog.csdnimg.cn/img_convert/c8c934adb87a4a2f9ab71062b05a0c19.png)
源码链接:员工管理系统