Files
Stu_scores_system/MD/CSV_FORMAT.md
T

3.2 KiB
Raw Blame History

学生成绩管理系统 - CSV格式说明

数据存储格式

学生数据以CSV格式存储在 data/students.csv 文件中,便于查看和编辑。v4.0.0版本通过模块化的文件工具库提供更强大的CSV处理能力,并增强了系统安全性。

v4.0.0版本安全性增强

  • 🔒 密码保护: 用户密码采用SHA-256哈希存储,确保数据安全
  • 🛡️ 缓冲区保护: 修复所有潜在的缓冲区溢出风险
  • 输入验证: 强化所有数据输入的格式验证和边界检查
  • 🧹 内存安全: 添加安全内存清除功能,防止敏感数据残留

CSV文件结构

文件位置

  • 文件路径: data/students.csv
  • 编码格式: UTF-8
  • 分隔符: 逗号 (,)

字段说明

字段名 说明 示例
学号 学生唯一标识 2021001
姓名 学生姓名 张三
年龄 学生年龄 20
性别 M(男)/F(女) M
课程数量 选修课程总数 3
课程1-10 课程名称 数学
成绩1-10 对应课程成绩 85.50
总分 所有课程总分 258.00
平均分 平均成绩 86.00

示例数据

学号,姓名,年龄,性别,课程数量,课程1,成绩1,课程2,成绩2,课程3,成绩3,课程4,成绩4,课程5,成绩5,课程6,成绩6,课程7,成绩7,课程8,成绩8,课程9,成绩9,课程10,成绩10,总分,平均分
2021001,张三,20,M,3,数学,85.50,英语,92.00,物理,78.50,,,,,,,,,,,,,258.00,86.00
2021002,李四,19,F,4,数学,90.00,英语,88.50,物理,85.00,化学,92.50,,,,,,,,,,,356.00,89.00

优势

  1. 可读性强: 可以用Excel、记事本等工具直接查看和编辑
  2. 通用格式: CSV是标准的数据交换格式
  3. 易于备份: 文本格式便于版本控制和备份
  4. 数据分析: 可以导入到Excel、Python等工具进行进一步分析

注意事项

  1. 如果课程数量少于10门,未使用的课程和成绩字段将为空
  2. 修改CSV文件时请保持格式一致性
  3. 程序会在添加、删除、修改学生信息时自动更新CSV文件
  4. 建议定期备份CSV文件

v2.2版本改进

🔧 模块化文件处理

  • file_utils模块:专门的文件操作工具库,提供更可靠的CSV文件处理
  • validation模块:增强的数据验证功能,确保CSV数据完整性
  • string_utils模块:优化的字符串处理,更好地处理CSV字段解析

📊 数据处理优化

  • 错误恢复:更强的CSV文件损坏检测和修复能力
  • 性能提升:优化的文件读写算法,处理大量数据更高效
  • 编码支持:增强的UTF-8编码处理,更好地支持多语言字符

兼容性

  • 系统会自动检测并读取CSV格式的学生数据
  • 如果CSV文件不存在,系统会在首次保存数据时自动创建
  • 支持中文字符(UTF-8编码)
  • v2.2版本向下兼容所有v2.1及更早版本的CSV文件

技术实现

相关模块

  • file_utils.c/hCSV文件读写核心功能
  • validation.c/h:数据格式验证
  • string_utils.c/h:字符串解析和处理
  • io_utils.c/h:输入输出辅助功能

版本: v4.0.0
最后更新: 2025年
模块化程度: 高度模块化