2026-05-06 04:45:04 +00:00
|
|
|
|
# 图书管理系统 (BookManager)
|
2026-05-06 04:43:07 +00:00
|
|
|
|
|
2026-05-06 04:45:04 +00:00
|
|
|
|
一个简洁的 C++17 图书管理系统,支持图书的增删改查操作。
|
|
|
|
|
|
|
|
|
|
|
|
## 功能特性
|
|
|
|
|
|
|
|
|
|
|
|
- 添加图书(书名、作者、ISBN、是否借出)
|
|
|
|
|
|
- 删除图书(按 ISBN)
|
|
|
|
|
|
- 查询图书(按 ISBN 或关键字搜索书名/作者)
|
|
|
|
|
|
- 借出 / 归还图书
|
|
|
|
|
|
- 列出所有图书
|
|
|
|
|
|
|
|
|
|
|
|
## 构建与运行
|
|
|
|
|
|
|
|
|
|
|
|
### 前提条件
|
2026-05-06 05:00:49 +00:00
|
|
|
|
ddddddd
|
2026-05-06 04:45:04 +00:00
|
|
|
|
- CMake >= 3.14
|
|
|
|
|
|
- C++17 兼容编译器(GCC 8+, Clang 7+, MSVC 2019+)
|
|
|
|
|
|
|
|
|
|
|
|
### 构建步骤
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
# 在工程根目录下执行
|
|
|
|
|
|
mkdir -p build && cd build
|
|
|
|
|
|
cmake ..
|
|
|
|
|
|
cmake --build .
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 运行主程序
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
./book_manager
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
### 运行测试
|
|
|
|
|
|
|
|
|
|
|
|
```bash
|
|
|
|
|
|
./basic_test
|
|
|
|
|
|
```
|
|
|
|
|
|
|
|
|
|
|
|
## 工程结构
|
|
|
|
|
|
|
|
|
|
|
|
```
|
|
|
|
|
|
.
|
|
|
|
|
|
├── CMakeLists.txt
|
|
|
|
|
|
├── README.md
|
|
|
|
|
|
├── include/
|
|
|
|
|
|
│ ├── app.hpp # App 主控类声明
|
|
|
|
|
|
│ └── book.hpp # Book 数据类声明
|
|
|
|
|
|
├── src/
|
|
|
|
|
|
│ ├── main.cpp # 命令行入口
|
|
|
|
|
|
│ ├── app.cpp # App 主控类实现
|
|
|
|
|
|
│ └── book.cpp # Book 数据类实现
|
|
|
|
|
|
└── tests/
|
|
|
|
|
|
└── basic_test.cpp # 基础单元测试
|
|
|
|
|
|
```
|