Skip to content

Commit c1ef760

Browse files
authored
docs: add README
1 parent 6e72fba commit c1ef760

1 file changed

Lines changed: 65 additions & 0 deletions

File tree

README.md

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
# 数据结构课程设计:计算机专业课程管理系统
2+
3+
> 基于纯 C 语言实现,**自主手搓 B+ 树索引**的课程信息管理系统
4+
5+
## 📁 项目结构
6+
7+
```plaintext
8+
├─.vscode/ # VSCode Task 配置
9+
├─bin/ # 编译生成的二进制文件
10+
├─src/ # 源代码
11+
│ ├── 033.h # 控制台输出宏定义
12+
│ ├── bPlusTree.c # B+ 树实现
13+
│ ├── bPlusTree.h # B+ 树头文件
14+
│ ├── data.c # 数据存储工具函数
15+
│ ├── data.h # 数据结构声明
16+
│ ├── debug.h # 调试宏
17+
│ ├── elegantDisplay.c # 控制台界面渲染
18+
│ ├── elegantDisplay.h # 界面显示函数声明
19+
│ └── main.c # 主程序与业务逻辑
20+
└─storage/ # 数据存储目录(用户、课程、学习资料等)
21+
```
22+
23+
项目中的控制台界面显示模块(`033.h`, `elegantDisplay.c`, `elegantDisplay.h`)继承自先前的 [程序设计课程设计(C) 项目](https://github.com/BobLiu0518/CLanguage-HospitalManagement),并进行了优化。
24+
25+
## ✨ 项目特色
26+
27+
- 纯 C 语言实现
28+
- 自主实现 B+ 树索引结构,支持高效查询与范围查找
29+
- 支持多角色登录(管理员、教师、学生)
30+
- 模块化设计,代码结构清晰
31+
- 使用 Argon2 加密存储密码,保障安全
32+
33+
## 🔧 编译说明
34+
35+
本项目在 **MSYS2 + MinGW-w64** 环境下开发,编译前请确保已安装以下组件:
36+
37+
```shell
38+
$ pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-libsodium
39+
```
40+
41+
编译命令:
42+
43+
```shell
44+
$ make
45+
```
46+
47+
编译成功后,可执行文件将生成在 `bin/` 目录下。
48+
49+
如果需要以最佳显示效果(Windows Terminal,40x16,焦点模式)运行,可以直接使用:
50+
51+
```shell
52+
$ make run
53+
```
54+
55+
## 📚 课程设计题目
56+
57+
本项目为**计算机专业课程管理系统**,支持三类用户:
58+
59+
- **管理员**:课程信息的增删改查、统计与分析
60+
- **教师**:管理课程资料、录入成绩、查看选课学生等
61+
- **学生**:查询课程信息、查看成绩与学习资料
62+
63+
系统使用 **B+ 树** 存储数据,实现了高效的数据索引与查询功能。
64+
65+
> 本项目为上海理工大学《数据结构课程设计》课程设计作品。

0 commit comments

Comments
 (0)