v4.1.0: 目录结构标准化 - 创建include/src目录分离头文件和源文件
This commit is contained in:
@@ -1,16 +1,16 @@
|
||||
# 学生成绩管理系统 Makefile
|
||||
# 编译器设置
|
||||
CC = gcc
|
||||
CFLAGS = -Wall -Wextra -std=c17 -g
|
||||
CFLAGS = -Wall -Wextra -std=c17 -g -Iinclude
|
||||
|
||||
# 目标文件
|
||||
TARGET = student_system
|
||||
|
||||
# 源文件
|
||||
SOURCES = main.c globals.c main_menu.c user_manage.c core_handlers.c statistical_analysis.c student_io.c student_crud.c student_search.c student_sort.c io_utils.c validation.c string_utils.c file_utils.c math_utils.c system_utils.c security_utils.c
|
||||
SOURCES = src/main.c src/globals.c src/main_menu.c src/user_manage.c src/core_handlers.c src/statistical_analysis.c src/student_io.c src/student_crud.c src/student_search.c src/student_sort.c src/io_utils.c src/validation.c src/string_utils.c src/file_utils.c src/math_utils.c src/system_utils.c src/security_utils.c
|
||||
|
||||
# 头文件
|
||||
HEADERS = config.h globals.h main_menu.h user_manage.h core_handlers.h statistical_analysis.h student_io.h student_crud.h student_search.h student_sort.h io_utils.h validation.h string_utils.h file_utils.h math_utils.h system_utils.h security_utils.h types.h
|
||||
HEADERS = include/config.h include/globals.h include/main_menu.h include/user_manage.h include/core_handlers.h include/statistical_analysis.h include/student_io.h include/student_crud.h include/student_search.h include/student_sort.h include/io_utils.h include/validation.h include/string_utils.h include/file_utils.h include/math_utils.h include/system_utils.h include/security_utils.h include/types.h
|
||||
|
||||
# 默认目标
|
||||
all: $(TARGET)
|
||||
@@ -21,9 +21,9 @@ $(TARGET): $(SOURCES) $(HEADERS)
|
||||
|
||||
# 清理编译文件
|
||||
clean:
|
||||
rm -f $(TARGET)
|
||||
rm -f *.exe
|
||||
rm -f *.o
|
||||
-del /Q $(TARGET).exe 2>nul
|
||||
-del /Q *.exe 2>nul
|
||||
-del /Q *.o 2>nul
|
||||
|
||||
# 创建必要的目录
|
||||
setup:
|
||||
|
||||
@@ -23,6 +23,7 @@
|
||||
- **用户管理**:多用户登录、权限控制
|
||||
|
||||
### 🔧 技术特性
|
||||
- **标准化目录结构**:v4.1.0版本采用业界标准的include/src目录布局
|
||||
- **统一类型管理**:v4.0.0版本创建types.h统一管理所有数据结构
|
||||
- **全局变量优化**:排序参数和统计缓存移至全局作用域,提升性能
|
||||
- **高度模块化**:v2.2版本完成深度模块化重构,功能模块职责清晰
|
||||
@@ -36,31 +37,33 @@
|
||||
## 🏗️ 系统架构
|
||||
|
||||
```
|
||||
学生成绩管理系统 (v4.0.0 统一类型管理架构)
|
||||
学生成绩管理系统 (v4.1.0 标准化目录架构)
|
||||
├── 用户界面层 (UI Layer)
|
||||
│ ├── 主菜单 (main_menu.c)
|
||||
│ └── 学生IO操作 (student_io.c)
|
||||
│ ├── 主菜单 (src/main_menu.c)
|
||||
│ └── 学生IO操作 (src/student_io.c)
|
||||
├── 业务逻辑层 (Business Layer)
|
||||
│ ├── 核心处理器 (core_handlers.c)
|
||||
│ ├── 学生数据管理 (stu_data.c)
|
||||
│ ├── 学生CRUD操作 (student_crud.c)
|
||||
│ ├── 学生搜索 (student_search.c)
|
||||
│ ├── 统计分析 (statistical_analysis.c)
|
||||
│ └── 用户管理 (user_manage.c)
|
||||
│ ├── 核心处理器 (src/core_handlers.c)
|
||||
│ ├── 学生CRUD操作 (src/student_crud.c)
|
||||
│ ├── 学生搜索 (src/student_search.c)
|
||||
│ ├── 学生排序 (src/student_sort.c)
|
||||
│ ├── 统计分析 (src/statistical_analysis.c)
|
||||
│ └── 用户管理 (src/user_manage.c)
|
||||
├── 工具库层 (Utility Layer)
|
||||
│ ├── IO工具 (io_utils.c)
|
||||
│ ├── 验证工具 (validation.c)
|
||||
│ ├── 字符串工具 (string_utils.c)
|
||||
│ ├── 文件工具 (file_utils.c)
|
||||
│ ├── 数学工具 (math_utils.c)
|
||||
│ └── 系统工具 (system_utils.c)
|
||||
│ ├── IO工具 (src/io_utils.c)
|
||||
│ ├── 验证工具 (src/validation.c)
|
||||
│ ├── 字符串工具 (src/string_utils.c)
|
||||
│ ├── 文件工具 (src/file_utils.c)
|
||||
│ ├── 数学工具 (src/math_utils.c)
|
||||
│ ├── 系统工具 (src/system_utils.c)
|
||||
│ └── 安全工具 (src/security_utils.c)
|
||||
├── 数据访问层 (Data Layer)
|
||||
│ ├── CSV文件操作
|
||||
│ └── 数据验证
|
||||
└── 配置层 (Config Layer)
|
||||
├── 统一类型定义 (types.h) - v4.0.0新增
|
||||
├── 系统配置 (config.h)
|
||||
└── 全局变量 (globals.c/h)
|
||||
├── 头文件目录 (include/) - v4.1.0标准化
|
||||
├── 统一类型定义 (include/types.h)
|
||||
├── 系统配置 (include/config.h)
|
||||
└── 全局变量 (include/globals.h)
|
||||
```
|
||||
|
||||
## 🚀 安装与编译
|
||||
@@ -80,7 +83,7 @@ cd Stu_scores_system
|
||||
|
||||
2. **使用GCC编译**
|
||||
```bash
|
||||
gcc -o student_system.exe main.c student_crud.c student_search.c student_sort.c user_manage.c main_menu.c student_io.c core_handlers.c statistical_analysis.c io_utils.c validation.c string_utils.c file_utils.c math_utils.c system_utils.c globals.c
|
||||
gcc -Wall -Wextra -std=c17 -g -Iinclude -o student_system src/main.c src/core_handlers.c src/file_utils.c src/globals.c src/io_utils.c src/main_menu.c src/math_utils.c src/security_utils.c src/statistical_analysis.c src/string_utils.c src/student_crud.c src/student_io.c src/student_search.c src/student_sort.c src/system_utils.c src/user_manage.c src/validation.c
|
||||
```
|
||||
|
||||
3. **使用Makefile编译(v4.0.0优化版)**
|
||||
@@ -147,40 +150,57 @@ teacher:password:0
|
||||
## 📁 项目结构
|
||||
|
||||
```
|
||||
Stu_scores_system/ (v4.0.0 统一类型管理结构)
|
||||
├── 📁 .idea/ # IntelliJ IDEA配置目录
|
||||
├── 📁 .vscode/ # VS Code配置目录
|
||||
Stu_scores_system/ (v4.1.0 标准化目录结构)
|
||||
├── 📁 data/ # 数据文件目录
|
||||
│ ├── students.csv # 学生数据(CSV格式)
|
||||
│ └── users.txt # 用户数据
|
||||
├── 📁 backup/ # 备份目录
|
||||
├── 📁 build/ # 编译输出目录
|
||||
├── 📁 include/ # 头文件目录
|
||||
│ ├── config.h # 系统配置
|
||||
│ ├── core_handlers.h # 核心处理器
|
||||
│ ├── file_utils.h # 文件操作工具库
|
||||
│ ├── globals.h # 全局变量管理
|
||||
│ ├── io_utils.h # IO工具库
|
||||
│ ├── main_menu.h # 菜单系统
|
||||
│ ├── math_utils.h # 数学计算工具库
|
||||
│ ├── security_utils.h # 安全工具库
|
||||
│ ├── statistical_analysis.h # 统计分析功能
|
||||
│ ├── string_utils.h # 字符串工具库
|
||||
│ ├── student_crud.h # 学生CRUD操作
|
||||
│ ├── student_io.h # 学生IO操作
|
||||
│ ├── student_search.h # 学生搜索功能
|
||||
│ ├── student_sort.h # 学生排序功能
|
||||
│ ├── system_utils.h # 系统工具库
|
||||
│ ├── types.h # 统一数据类型定义
|
||||
│ ├── user_manage.h # 用户管理
|
||||
│ └── validation.h # 数据验证工具库
|
||||
├── 📁 src/ # 源文件目录
|
||||
│ ├── core_handlers.c # 核心处理器
|
||||
│ ├── file_utils.c # 文件操作工具库
|
||||
│ ├── globals.c # 全局变量管理
|
||||
│ ├── io_utils.c # IO工具库
|
||||
│ ├── main.c # 主程序入口
|
||||
│ ├── main_menu.c # 菜单系统
|
||||
│ ├── math_utils.c # 数学计算工具库
|
||||
│ ├── security_utils.c # 安全工具库
|
||||
│ ├── statistical_analysis.c # 统计分析功能
|
||||
│ ├── string_utils.c # 字符串工具库
|
||||
│ ├── student_crud.c # 学生CRUD操作
|
||||
│ ├── student_io.c # 学生IO操作
|
||||
│ ├── student_search.c # 学生搜索功能
|
||||
│ ├── student_sort.c # 学生排序功能
|
||||
│ ├── system_utils.c # 系统工具库
|
||||
│ ├── user_manage.c # 用户管理
|
||||
│ └── validation.c # 数据验证工具库
|
||||
├── 📁 MD/ # 文档目录
|
||||
│ ├── README.md # 项目说明
|
||||
│ └── CSV_FORMAT.md # CSV格式说明
|
||||
├── 📁 TXT/ # 文本文档目录
|
||||
│ ├── 系统说明文档.txt # 系统详细说明
|
||||
│ ├── 代码统计报告.txt # 代码统计分析
|
||||
│ └── 要求.txt # 需求文档
|
||||
├── 📄 main.c # 主程序入口
|
||||
├── 📄 types.h # 统一数据类型定义(v4.0.0新增)
|
||||
├── 📄 config.h # 系统配置
|
||||
├── 📄 globals.c/h # 全局变量管理
|
||||
├── 📄 student_crud.c/h # 学生CRUD操作
|
||||
├── 📄 student_search.c/h # 学生搜索功能
|
||||
├── 📄 student_sort.c/h # 学生排序功能
|
||||
├── 📄 student_io.c/h # 学生IO操作
|
||||
├── 📄 statistical_analysis.c/h # 统计分析功能
|
||||
├── 📄 user_manage.c/h # 用户管理
|
||||
├── 📄 main_menu.c/h # 菜单系统
|
||||
├── 📄 core_handlers.c/h # 核心处理器
|
||||
├── 📄 io_utils.c/h # IO工具库
|
||||
├── 📄 validation.c/h # 数据验证工具库
|
||||
├── 📄 string_utils.c/h # 字符串工具库
|
||||
├── 📄 file_utils.c/h # 文件操作工具库
|
||||
├── 📄 math_utils.c/h # 数学计算工具库
|
||||
├── 📄 system_utils.c/h # 系统工具库
|
||||
├── 📄 Makefile # 编译配置(v4.0.0优化版)
|
||||
├── 📄 .gitignore # Git忽略文件配置
|
||||
├── 📄 LICENSE # 许可证文件
|
||||
├── 📄 Makefile # 编译配置(v4.1.0优化版)
|
||||
├── 📄 README.md # 项目说明文档
|
||||
└── 📄 student_system.exe # 编译生成的可执行文件
|
||||
```
|
||||
|
||||
@@ -194,11 +214,19 @@ Stu_scores_system/ (v4.0.0 统一类型管理结构)
|
||||
- 模块化设计,职责分离
|
||||
|
||||
### 添加新功能
|
||||
1. 在相应的模块文件中添加函数实现
|
||||
2. 在对应的头文件中添加函数声明
|
||||
1. 在 `src/` 目录的相应模块文件中添加函数实现
|
||||
2. 在 `include/` 目录的对应头文件中添加函数声明
|
||||
3. 在菜单系统中添加选项
|
||||
4. 更新配置文件(如需要)
|
||||
5. 编写测试用例
|
||||
5. 使用 `make clean && make` 重新编译
|
||||
6. 编写测试用例
|
||||
|
||||
### 目录结构说明
|
||||
- **src/**:存放所有 `.c` 源文件,包含函数的具体实现
|
||||
- **include/**:存放所有 `.h` 头文件,包含函数声明和数据结构定义
|
||||
- **data/**:存放程序运行时的数据文件(CSV、TXT等)
|
||||
- **MD/**:存放Markdown格式的文档文件
|
||||
- **TXT/**:存放文本格式的说明文档
|
||||
|
||||
### 核心数据结构
|
||||
|
||||
@@ -290,7 +318,7 @@ typedef struct {
|
||||
## 🐛 常见问题
|
||||
|
||||
### Q: 编译时出现错误怎么办?
|
||||
A: 确保所有源文件都在同一目录下,并检查GCC版本是否支持C99标准。
|
||||
A: 确保源文件在 `src/` 目录下,头文件在 `include/` 目录下,并检查GCC版本是否支持C17标准。使用 `make clean && make` 重新编译。
|
||||
|
||||
### Q: 数据文件损坏怎么办?
|
||||
A: 可以从backup目录恢复备份文件,或者手动编辑CSV文件修复数据。
|
||||
@@ -326,10 +354,23 @@ A: 按照CSV格式要求编辑 `data/students.csv` 文件,程序会自动读
|
||||
|
||||
---
|
||||
|
||||
**版本**: v4.0.0
|
||||
**版本**: v4.1.0
|
||||
**最后更新**: 2025年
|
||||
**状态**: 稳定版本
|
||||
|
||||
## 🆕 v4.1.0 更新内容
|
||||
|
||||
### 📁 标准化目录结构
|
||||
- **目录重组**:将源文件和头文件分别组织到 `src/` 和 `include/` 目录
|
||||
- **编译优化**:更新 Makefile 以支持新的目录结构,添加 `-Iinclude` 编译选项
|
||||
- **项目标准化**:采用业界标准的C项目目录布局,提升项目专业性
|
||||
- **维护性提升**:清晰的文件组织结构,便于代码管理和团队协作
|
||||
|
||||
### 🔧 编译系统改进
|
||||
- **GCC命令更新**:编译命令适配新的目录结构,包含完整的编译选项
|
||||
- **Makefile增强**:支持跨平台编译,Windows兼容性改进
|
||||
- **文档同步**:README.md项目结构图完全更新,反映最新的目录组织
|
||||
|
||||
## 🆕 v4.0.0 更新内容
|
||||
|
||||
### 🔒 安全性增强
|
||||
|
||||
+49
-33
@@ -1,7 +1,7 @@
|
||||
学生成绩管理系统 - 代码统计报告
|
||||
========================================
|
||||
生成时间: 2025年9月12日
|
||||
项目版本: v4.0.0
|
||||
生成时间: 2025年10月7日
|
||||
项目版本: v4.1.0
|
||||
|
||||
========================================
|
||||
项目概述
|
||||
@@ -20,7 +20,15 @@
|
||||
- C源文件(.c): 16个
|
||||
- 头文件(.h): 17个(新增types.h)
|
||||
|
||||
v3.0.0统一类型管理成果:
|
||||
v4.1.0目录结构标准化成果:
|
||||
- 🏗️ 标准化目录结构:创建include/和src/目录分离头文件和源文件
|
||||
- 📁 头文件集中管理:所有.h文件移至include/目录
|
||||
- 🔧 源文件统一存放:所有.c文件移至src/目录
|
||||
- ⚙️ 编译系统优化:更新Makefile支持新目录结构,添加-Iinclude编译选项
|
||||
- 📝 文档同步更新:更新编译说明和项目结构文档
|
||||
- 🎯 项目标准化:符合C语言项目标准目录布局,提升专业性
|
||||
|
||||
v4.0.0统一类型管理成果:
|
||||
- 创建types.h统一管理所有数据结构定义
|
||||
- 消除config.h、globals.h、statistical_analysis.h中的重复结构体定义
|
||||
- 优化头文件依赖关系,简化包含结构
|
||||
@@ -37,15 +45,16 @@ v2.2模块化重构成果:
|
||||
详细文件分析
|
||||
========================================
|
||||
|
||||
1. main.c (主程序文件)
|
||||
1. src/main.c (主程序文件)
|
||||
- 总行数: 150行
|
||||
- 函数数量: 1个 (main函数)
|
||||
- 注释行数: 约40行
|
||||
- 代码行数: 约110行
|
||||
- 主要功能: 程序入口点,系统初始化,用户登录,主菜单循环
|
||||
- 注释字数: 约800字
|
||||
- 文件位置: src/目录(v4.1.0目录重组)
|
||||
|
||||
2. config.h (配置头文件)
|
||||
2. include/config.h (配置头文件)
|
||||
- 总行数: 108行
|
||||
- 宏定义数量: 约50个
|
||||
- 结构体定义: 1个 (Student)
|
||||
@@ -53,14 +62,16 @@ v2.2模块化重构成果:
|
||||
- 代码行数: 约88行
|
||||
- 主要功能: 系统参数配置,数据结构定义
|
||||
- 注释字数: 约300字
|
||||
- 文件位置: include/目录(v4.1.0目录重组)
|
||||
|
||||
3. stu_data.c (学生数据管理)
|
||||
3. src/stu_data.c (学生数据管理)
|
||||
- 总行数: 762行
|
||||
- 函数数量: 约10个
|
||||
- 注释行数: 约150行
|
||||
- 代码行数: 约612行
|
||||
- 主要功能: 学生信息增删改查,文件读写操作
|
||||
- 注释字数: 约2500字
|
||||
- 文件位置: src/目录(v4.1.0目录重组)
|
||||
|
||||
4. 模块化工具集 (原auxiliary.c拆分)
|
||||
4.1 io_utils.c (输入输出工具)
|
||||
@@ -93,73 +104,78 @@ v2.2模块化重构成果:
|
||||
- 函数数量: 3个
|
||||
- 主要功能: 系统初始化、资源管理、清理操作
|
||||
|
||||
5. statistical_analysis.c (统计分析)
|
||||
5. src/statistical_analysis.c (统计分析)
|
||||
- 总行数: 489行
|
||||
- 函数数量: 约12个
|
||||
- 注释行数: 约100行
|
||||
- 代码行数: 约389行
|
||||
- 主要功能: 成绩统计,数据分析,排名计算
|
||||
- 注释字数: 约1800字
|
||||
- 文件位置: src/目录(v4.1.0目录重组)
|
||||
|
||||
6. user_manage.c (用户管理)
|
||||
6. src/user_manage.c (用户管理)
|
||||
- 总行数: 265行
|
||||
- 函数数量: 约7个
|
||||
- 注释行数: 约60行
|
||||
- 代码行数: 约205行
|
||||
- 主要功能: 用户认证,账户管理,权限控制
|
||||
- 注释字数: 约1200字
|
||||
- 文件位置: src/目录(v4.1.0目录重组)
|
||||
|
||||
7. main_menu.c (菜单显示)
|
||||
7. src/main_menu.c (菜单显示)
|
||||
- 总行数: 约120行
|
||||
- 函数数量: 4个
|
||||
- 注释行数: 约30行
|
||||
- 代码行数: 约90行
|
||||
- 主要功能: 菜单界面显示
|
||||
- 注释字数: 约600字
|
||||
- 文件位置: src/目录(v4.1.0目录重组)
|
||||
|
||||
8. core_handlers.c (核心处理)
|
||||
8. src/core_handlers.c (核心处理)
|
||||
- 总行数: 154行
|
||||
- 函数数量: 4个
|
||||
- 注释行数: 约40行
|
||||
- 代码行数: 约114行
|
||||
- 主要功能: 菜单逻辑处理,功能调度
|
||||
- 注释字数: 约800字
|
||||
- 文件位置: src/目录(v4.1.0目录重组)
|
||||
|
||||
9. globals.c (全局变量)
|
||||
9. src/globals.c (全局变量)
|
||||
- 总行数: 25行
|
||||
- 变量定义: 约10个
|
||||
- 注释行数: 约5行
|
||||
- 代码行数: 约20行
|
||||
- 主要功能: 全局变量定义
|
||||
- 注释字数: 约100字
|
||||
- 文件位置: src/目录(v4.1.0目录重组)
|
||||
|
||||
========================================
|
||||
头文件统计(v2.2模块化架构)
|
||||
头文件统计(v4.1.0目录重组架构)
|
||||
========================================
|
||||
|
||||
核心模块头文件:
|
||||
1. types.h - 85行,统一数据类型定义(v4.0.0新增)
|
||||
2. config.h - 98行,系统配置(已移除结构体定义)
|
||||
3. globals.h - 32行,全局变量声明(已优化包含关系)
|
||||
4. main_menu.h - 12行,菜单功能声明
|
||||
5. core_handlers.h - 18行,核心处理器声明
|
||||
核心模块头文件(include/目录):
|
||||
1. include/types.h - 85行,统一数据类型定义(v4.0.0新增)
|
||||
2. include/config.h - 98行,系统配置(已移除结构体定义)
|
||||
3. include/globals.h - 32行,全局变量声明(已优化包含关系)
|
||||
4. include/main_menu.h - 12行,菜单功能声明
|
||||
5. include/core_handlers.h - 18行,核心处理器声明
|
||||
|
||||
业务模块头文件:
|
||||
5. student_crud.h - 学生CRUD操作声明
|
||||
6. student_search.h - 学生搜索功能声明
|
||||
7. student_sort.h - 学生排序功能声明
|
||||
8. student_io.h - 学生数据I/O声明
|
||||
9. statistical_analysis.h - 25行,统计分析功能声明(已移除结构体定义)
|
||||
10. user_manage.h - 13行,用户管理功能声明
|
||||
业务模块头文件(include/目录):
|
||||
6. include/student_crud.h - 学生CRUD操作声明
|
||||
7. include/student_search.h - 学生搜索功能声明
|
||||
8. include/student_sort.h - 学生排序功能声明
|
||||
9. include/student_io.h - 学生数据I/O声明
|
||||
10. include/statistical_analysis.h - 25行,统计分析功能声明(已移除结构体定义)
|
||||
11. include/user_manage.h - 13行,用户管理功能声明
|
||||
|
||||
工具模块头文件(v4.0.0增强):
|
||||
11. security_utils.h - 安全工具库声明(v4.0.0新增)
|
||||
12. io_utils.h - 输入输出工具声明
|
||||
13. validation.h - 数据验证工具声明(v4.0.0增强)
|
||||
14. string_utils.h - 字符串处理工具声明
|
||||
15. file_utils.h - 文件操作工具声明
|
||||
16. math_utils.h - 数学计算工具声明
|
||||
17. system_utils.h - 系统管理工具声明
|
||||
工具模块头文件(include/目录,v4.0.0增强):
|
||||
12. include/security_utils.h - 安全工具库声明(v4.0.0新增)
|
||||
13. include/io_utils.h - 输入输出工具声明
|
||||
14. include/validation.h - 数据验证工具声明(v4.0.0增强)
|
||||
15. include/string_utils.h - 字符串处理工具声明
|
||||
16. include/file_utils.h - 文件操作工具声明
|
||||
17. include/math_utils.h - 数学计算工具声明
|
||||
18. include/system_utils.h - 系统管理工具声明
|
||||
|
||||
v4.0.0安全性与类型管理优势:
|
||||
- 统一类型定义: 所有结构体集中在types.h中管理
|
||||
|
||||
+24
-12
@@ -3,10 +3,15 @@
|
||||
* @brief C语言学生成绩管理系统
|
||||
* @details 支持学生信息管理、成绩统计分析、用户权限控制的完整教务管理系统
|
||||
* @author 刘航宇
|
||||
* @date 2025-09-12
|
||||
* @version 4.0.0
|
||||
* @date 2025-10-7
|
||||
* @version 4.1.0
|
||||
* @note
|
||||
* 1. v4.0.0新增功能(最新版本):
|
||||
* 1. v4.1.0新增功能(最新版本):
|
||||
* - 🏗️ 目录结构标准化,创建include/和src/目录分离头文件和源文件
|
||||
* - ⚙️ 编译系统优化,更新Makefile支持新目录结构
|
||||
* - 📝 文档同步更新,反映新的项目组织方式
|
||||
* - 🎯 项目标准化提升,遵循业界标准的C项目目录布局
|
||||
* 2. v4.0.0功能特性(前版本):
|
||||
* - 🔒 密码安全增强,实现SHA-256哈希算法替代明文存储
|
||||
* - 🛡️ 缓冲区保护,修复所有溢出风险,替换不安全函数
|
||||
* - ✅ 输入验证强化,加强所有用户输入的验证和边界检查
|
||||
@@ -172,12 +177,15 @@
|
||||
* @copyright Copyright (c) 2025 学生成绩管理系统开发团队
|
||||
* @license MIT License
|
||||
*
|
||||
* 编译命令(v4.0.0安全性增强版本):
|
||||
* 方式1(推荐):直接编译
|
||||
* gcc -Wall -Wextra -std=c17 -g main.c globals.c main_menu.c user_manage.c core_handlers.c statistical_analysis.c student_io.c student_crud.c student_search.c student_sort.c io_utils.c validation.c string_utils.c file_utils.c math_utils.c system_utils.c -o student_system
|
||||
* 编译命令(v4.1.0目录结构标准化版本):
|
||||
* 方式1(推荐):使用Makefile
|
||||
* make clean && make
|
||||
*
|
||||
* 方式2:分步编译(如需要)
|
||||
* gcc -Wall -Wextra -std=c17 -g -c *.c
|
||||
* 方式2:直接编译
|
||||
* gcc -Wall -Wextra -std=c17 -g -Iinclude src/main.c src/globals.c src/main_menu.c src/user_manage.c src/core_handlers.c src/statistical_analysis.c src/student_io.c src/student_crud.c src/student_search.c src/student_sort.c src/io_utils.c src/validation.c src/string_utils.c src/file_utils.c src/math_utils.c src/system_utils.c src/security_utils.c -o student_system
|
||||
*
|
||||
* 方式3:分步编译(如需要)
|
||||
* gcc -Wall -Wextra -std=c17 -g -c -Iinclude src/*.c
|
||||
* gcc *.o -o student_system
|
||||
*
|
||||
* 运行命令:
|
||||
@@ -188,10 +196,13 @@
|
||||
* 管理员 - 用户名:admin,密码:123456
|
||||
* 教师 - 用户名:teacher,密码:password
|
||||
*
|
||||
* 数据文件位置:
|
||||
* 学生数据:data/students.csv
|
||||
* 用户数据:data/users.txt
|
||||
* 备份目录:backup/
|
||||
* 项目目录结构(v4.1.0标准化):
|
||||
* - 源文件:src/目录(所有.c文件)
|
||||
* - 头文件:include/目录(所有.h文件)
|
||||
* - 学生数据:data/students.csv
|
||||
* - 用户数据:data/users.txt
|
||||
* - 备份目录:backup/
|
||||
* - 文档目录:TXT/、MD/
|
||||
*
|
||||
* 系统要求:
|
||||
* - 操作系统:Windows 7+、Linux、macOS
|
||||
@@ -199,4 +210,5 @@
|
||||
* - 内存:最少64MB可用内存
|
||||
* - 存储:最少10MB可用磁盘空间
|
||||
* - 终端:支持ANSI颜色代码的终端(推荐)
|
||||
* - 支持-Iinclude编译选项
|
||||
*/
|
||||
+1
-1
@@ -9,7 +9,7 @@
|
||||
* 1. admin - 密码:123456(管理员权限)
|
||||
* 2. teacher - 密码:password(普通用户权限)
|
||||
* @note 编译运行命令:
|
||||
* gcc -std=c17 -o student_system.exe *.c -I.
|
||||
* gcc -std=c17 -o student_system.exe src/*.c -Iinclude
|
||||
./student_system
|
||||
或者用Makefile编译
|
||||
make run
|
||||
Reference in New Issue
Block a user