一个图书馆管理系统(C++ + SQLite3(后续可能迁移至MySQL))
本项目依赖以下第三方库。请在编译前,将对应文件下载并放置到项目的 external/include 目录(需要自己创建)下:
- httplib.h[[https://github.com/yhirose/cpp-httplib/blob/master/httplib.h]]
- json.hpp
- sqlite3.h [[https://www.sqlite.org/2026/sqlite-amalgamation-3510200.zip]]
出现以下报错可以通过在main.cpp中添加以下代码到文件开头来解决
#error "cpp-httplib doesn't support Windows 8 or lower. Please use Windows 10 or later."
#define _WIN32_WINNT 0x0A00
#define WINVER 0x0A00
user表中role为admin的用户为管理员,role为student的用户为普通用户,需要先创建普通用户,然后通过手动修改数据库中的role字段来设置管理员用户
- 查找图书(支持作者,书名,类别模糊查询,isbn精确查询)
- 借阅图书
- 查看借阅记录和状态
- 查看个人信息
- 修改密码
- 借阅统计(在个人信息界面和主页面显示当前借阅数量,历史借阅数量,超期图书数量,即将到期图书数量)
- 归还图书
- 用户注册
- 图书管理(添加,编辑(字段可以选择,bookId不可修改),删除图书(删除所有副本);添加副本,删除副本)
- 冻结/解冻账户
- 查看读者详细信息
- 搜索用户
- 人工借书
- 人工还书
- 提交书籍异常处理报告
- 统计图书总数,读者总数,当前借阅,超期图书
- 文件上传(支持txt文件批量添加,批量添加过程中如果有错误,会生成并自动下载错误报告)
- 处理书籍异常处理报告
- 密码加密
- 黑名单
- 用户登录和修改密码时boby中的密码未加密就传到了后端,应该在前端加密后传到后端
- 导出书籍异常处理报告为excel
- 对超期图书进行操作
- 密码找回功能
- 数据库备份功能
- 续借功能,读者向管理员发送续借请求,管理员审核通过后,延长借阅时间,读者续借按钮在我的借阅界面中,管理员端审核界面未设计
- 逾期提醒功能,弹窗提醒,并显示超期天数和书本基本信息
推荐系统的仓库地址[[https://github.com/huyunke/Book_Recommendation_System]]
- 基于自身借阅内容的推荐
- 基于相似读者的推荐
- 基于热门度 / 趋势的推荐
- 基于类别平衡 / 多样性的推荐
- 基于新书 / 时间因素的推荐
- 混合推荐
- 多线程
- 从SQLite迁移到MySQL
- 日志