Skip to content

University Programming Course Practical Assignment 2: Console-based Students-Score Manager

Notifications You must be signed in to change notification settings

007WS-cry/HDU-Homework-Students

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

学生成绩管理系统

项目简介

本项目是一个用C语言编写的学生成绩管理系统,可实现学生信息的输入、成绩管理、排序、统计等功能。该系统支持用户以学生或教师身份登录,不同身份具有不同的操作权限。

功能特性

  1. 用户身份验证:支持教师(admin)和学生两种身份登录,教师拥有更多操作权限。
  2. 学生信息管理:可以输入、删除、修改学生信息。
  3. 成绩管理:能够增加、修改学生成绩,计算学生总成绩和单科成绩。
  4. 排序功能:支持按学号、姓名、总成绩升序或降序排序。
  5. 统计功能:可统计指定课程的成绩分布情况。
  6. 数据存储与读取:可以将学生信息保存到文件,也能从文件中读取学生信息。

文件结构

Students/
├── main.c
├── Students.h
└── Students.c
  • main.c:程序入口,负责初始化系统并调用初始化函数。
  • Students.h:头文件,包含系统所需的函数声明和类型定义。
  • Students.c:实现系统的主要功能,包括用户交互、数据处理等。

编译与运行

编译

确保你已经安装了C语言编译器(如GCC),然后在终端中执行以下命令进行编译:

gcc main.c Students.c -o student_management_system

运行

编译成功后,在终端中运行生成的可执行文件:

./student_management_system

使用说明

  1. 登录:程序启动后,输入账号和密码进行登录。输入 admin 并输入正确密码可获得教师权限,其他账号以学生身份登录。
  2. 操作选择:登录成功后,会显示操作菜单,输入对应的操作码进行相应操作。
  3. 退出系统:输入 0 可退出系统。

特点

  1. 权限设置:教师和学生有不同的权限
  2. 排序算法:排序使用链表的快速排序算法,提升排序效率

操作示例

输入学生信息

  1. 选择操作码 1
  2. 输入学生姓名和学号。

增加学生成绩

  1. 选择操作码 2
  2. 输入学生学号和需要增加的课程成绩数量。
  3. 依次输入课程号和课程成绩。

按学号排序

选择操作码 9 即可按学号对学生信息进行排序。

注意事项

  • 教师密码初始为 admin,可通过操作码 17 修改密码。
  • 输入文件路径时,请确保路径正确且有读写权限。
  • 输入课程号时,请确保课程号在有效范围内。

作者信息

许可证

本项目无特定许可证。

About

University Programming Course Practical Assignment 2: Console-based Students-Score Manager

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages