v4.1.0: 目录结构标准化 - 创建include/src目录分离头文件和源文件

This commit is contained in:
2025-10-07 23:27:53 +08:00
parent 53964df405
commit 0894171ae0
39 changed files with 176 additions and 107 deletions
+49 -33
View File
@@ -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
View File
@@ -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编译选项
*/