10000 GitHub - XXYoLoong/StuGradeSystem: 一个基于 C99 标准开发的轻量级控制台应用程序,旨在实现学生成绩的录入、查询、修改、删除、排序和数据保存等功能,适用于学校和教育机构的基本成绩管理需求。
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

一个基于 C99 标准开发的轻量级控制台应用程序,旨在实现学生成绩的录入、查询、修改、删除、排序和数据保存等功能,适用于学校和教育机构的基本成绩管理需求。

License

Notifications You must be signed in to change notification settings

XXYoLoong/StuGradeSystem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation


学生成绩管理系统 (Student Grade Management System)

Apache License 2.0 Platform Visual Studio

学生成绩管理系统是一个基于 C99 标准开发的轻量级控制台应用程序,旨在实现学生成绩的录入、查询、修改、删除、排序和数据保存等功能,适用于学校和教育机构的基本成绩管理需求。


项目特点

  • 支持 多班级管理,最多 10 个班级,每班最多 100 名学生。
  • 数据自动保存至 Data 文件夹中的班级文件(如 class_1.txt)。
  • 支持 多课程管理,每名学生最多可录入 5 门课程成绩。
  • 提供 简单易用的菜单操作,使用直观,功能清晰。
  • 严格的 输入校验机制,确保数据的完整性和准确性。
  • 使用 Apache License 2.0 开源协议,开放代码,欢迎二次开发。

功能说明

主要功能

  1. 录入学生成绩 用户可为指定班级录入学生信息(姓名、学号、性别、课程及其对应成绩)。
  2. 查询课程平均分 查询指定班级某门课程的平均分。
  3. 查询学生成绩及排名 按学号查询学生所有课程成绩、总分及班级排名。
  4. 修改学生成绩 修改指定学生的某门课程成绩,并更新总分。
  5. 删除学生成绩 删除指定学生的某门课程成绩,并更新总分。
  6. 按学号排序输出学生总分及排名 按学号升序排序学生列表,并输出其总分及班级排名。
  7. 数据保存 数据会自动保存到 Data 文件夹中,文件名以班级编号命名(如 class_1.txt)。

运行环境

  • 操作系统:Windows 11
  • 开发工具:Visual Studio 2022
  • C 标准:C99

安装与运行

安装步骤

  1. 克隆代码仓库

    git clone https://github.com/XXYoLoong/StuGradeSystem.git
    cd StuGradeSystem
  2. 导入项目

    • 打开 Visual Studio 2022。
    • 使用 File > Open > Project/Solution 打开项目文件。
  3. 配置编译环境

    • 确保项目的编译标准为 C99
    • 检查项目设置中的输出路径,确保可写权限。
  4. 运行项目

    • 点击 F5Debug > Start Debugging 运行项目。
    • 按照程序提示进行操作。

项目结构

StuGradeSystem/
├── main.c         // 主程序
├── data.h         // 全局数据结构定义
├── data.c         // 全局变量定义
├── utils.h        // 工具函数声明
├── utils.c        // 工具函数实现
├── input.h        // 成绩录入模块声明
├── input.c        // 成绩录入模块实现
├── query.h        // 成绩查询模块声明
├── query.c        // 成绩查询模块实现
├── modify.h       // 成绩修改模块声明
├── modify.c       // 成绩修改模块实现
├── delete.h       // 成绩删除模块声明
├── delete.c       // 成绩删除模块实现
├── sort.h         // 排序模块声明
├── sort.c         // 排序模块实现
└── Data/          // 数据保存文件夹

示例运行结果

启动菜单

学生成绩管理系统
1. 录入学生成绩
2. 查询课程平均分
3. 查询学生成绩及排名
4. 修改学生成绩
5. 删除学生成绩
6. 按学号排序输出学生总分及排名
0. 退出程序
请输入您的选择:

示例操作

  1. 录入学生成绩

    请输入班级索引(0-9):1
    请输入学生姓名:张三
    请输入学号:20240001
    请输入性别(M/F):M
    请输入该学生的课程数量(最多 5 门):2
    请输入课程 1 名称:数学
    请输入课程 1 成绩:95
    请输入课程 2 名称:英语
    请输入课程 2 成绩:88
    班级数据已保存到:Data/class_1.txt
    学生成绩录入成功!
    
  2. 查询课程平均分

    请输入班级索引(0-9):1
    请输入课程名称:数学
    科目 数学 的平均分是:95.00
    

输入校验

支持的校验功能

  • 班级索引范围:必须为 0-9,否则提示重新输入。
  • 学生人数限制:每班最多 100 名学生。
  • 课程数量限制:每名学生最多 5 门课程。
  • 性别输入格式:只能为 MF(不区分大小写)。
  • 成绩输入限制:只能输入有效的数字(浮点型)。

技术细节

  1. 编译标准:严格遵循 C99 标准,确保跨平台兼容性。
  2. 模块化设计:所有功能模块独立设计,降低耦合性。
  3. 数据存储:成绩数据保存在 Data 文件夹中,文件按班级编号命名。
  4. 错误处理:通过输入校验和提示机制,确保程序健壮性。

未来计划

  • 支持从文件导入成绩数据。
  • 增加图形化用户界面(GUI)。
  • 支持多语言切换(如中文与英文)。

贡献指南

  1. 提交 Issue
    • 如果发现 Bug 或有功能改进建议,请提交 Issue 描述问题或需求。
  2. 贡献代码
    • 提交 Pull Request 时,请确保代码格式符合项目规范。
  3. 联系方式

许可证

本项目基于 Apache License 2.0 开源,详细条款请参见 LICENSE 文件

About

一个基于 C99 标准开发的轻量级控制台应用程序,旨在实现学生成绩的录入、查询、修改、删除、排序和数据保存等功能,适用于学校和教育机构的基本成绩管理需求。

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

0