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
+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编译选项
*/