基于纯 C 语言实现,自主手搓 B+ 树索引的课程信息管理系统
├─.vscode/ # VSCode Task 配置
├─bin/ # 编译生成的二进制文件
├─src/ # 源代码
│ ├── 033.h # 控制台输出宏定义
│ ├── bPlusTree.c # B+ 树实现
│ ├── bPlusTree.h # B+ 树头文件
│ ├── data.c # 数据存储工具函数
│ ├── data.h # 数据结构声明
│ ├── debug.h # 调试宏
│ ├── elegantDisplay.c # 控制台界面渲染
│ ├── elegantDisplay.h # 界面显示函数声明
│ └── main.c # 主程序与业务逻辑
└─storage/ # 数据存储目录(用户、课程、学习资料等)
项目中的控制台界面显示模块(033.h, elegantDisplay.c, elegantDisplay.h)继承自先前的 程序设计课程设计(C) 项目,并进行了优化。
- 纯 C 语言实现
- 自主实现 B+ 树索引结构,支持高效查询与范围查找
- 支持多角色登录(管理员、教师、学生)
- 模块化设计,代码结构清晰
- 使用 Argon2 加密存储密码,保障安全
本项目在 MSYS2 + MinGW-w64 环境下开发,编译前请确保已安装以下组件:
$ pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-make mingw-w64-x86_64-libsodium编译命令:
$ make编译成功后,可执行文件将生成在 bin/ 目录下。
如果需要以最佳显示效果(Windows Terminal,40x16,焦点模式)运行,可以直接使用:
$ make run本项目为计算机专业课程管理系统,支持三类用户:
- 管理员:课程信息的增删改查、统计与分析
- 教师:管理课程资料、录入成绩、查看选课学生等
- 学生:查询课程信息、查看成绩与学习资料
系统使用 B+ 树 存储数据,实现了高效的数据索引与查询功能。
本项目为上海理工大学《数据结构课程设计》课程设计作品。