c语言学生信息成绩管理系统

这是一个使用C语言设计的学生成绩管理系统,具备学生信息管理与成绩管理功能,包括增、删、改、查操作,能统计单科平均分和总分排行。系统支持数据持久化,通过文件进行数据的保存和加载。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

定制魏:QTWZPW,获取更多源码等

目录

题目

功能模块设计 

学生信息管理模块

学生成绩管理模块 

结构体设计 

学生信息结构体

学生成绩结构体 

函数设计

学生信息管理函数

学生成绩管理函数

文件操作函数

 运行效果展示​编辑​编辑

数据存储 ​编辑

完整代码


题目

      设计并实现一个学生信息和成绩管理系统,可以对学生的基本信息和成绩进行增、删、改、查等操作,并能够统计单个科目的平均分以及按照总分排行显示学生信息。该系统应具有良好的用户界面和友好的交互体验,同时要求数据持久化,能够将学生信息和成绩保存到文件中,并能够从文件中加载数据。

功能模块设计 

学生信息管理模块

  • 添加学生信息:输入学生的学号、姓名、班级、学院,将信息添加到学生信息数组中。
  • 删除学生信息:根据学号查找学生信息,并删除该学生信息。
  • 修改学生信息:根据学号查找学生信息,并修改其姓名、班级、学院等信息。
  • 查看单个学生信息:根据学号查找学生信息,并显示其详细信息。
  • 查看所有学生信息:显示所有学生的学号、姓名、班级、学院信息。

学生成绩管理模块 

  • 添加学生成绩:输入学生的学号、姓名以及各科目成绩,计算总分并将成绩添加到成绩数组中。
  • 删除学生成绩:根据学号查找学生成绩,并删除该学生成绩。
  • 修改学生成绩:根据学号查找学生成绩,并修改其各科目成绩,重新计算总分。
  • 查看单个学生成绩:根据学号查找学生成绩,并显示其详细成绩信息。
  • 查看所有学生成绩:显示所有学生的学号、姓名、总分信息。
  • 查看单个科目平均分:计算并显示计算机专业课、数学、政治、英语等科目的平均分。
  • 查看总分排行:按照总分从高到低或从低到高显示学生的排名及相关信息。

结构体设计 

学生信息结构体

typedef struct {
    char id[20];       // 学号
    char name[50];     // 姓名
    char class[20];    // 班级
    char college[50];  // 学院
} Student;

学生成绩结构体 

typedef struct {
    char id[20];       // 学号
    char name[50];     // 姓名
    float computer;    // 计算机专业课成绩
    float math;        // 数学成绩
    float politics;    // 政治成绩
    float english;     // 英语成绩
    float total;       // 总分
} Score;

函数设计

学生信息管理函数


void addStudent()
作用:向学生信息数组中添加新的学生信息。
功能:提示用户输入学生的学号、姓名、班级、学院,并将新学生信息添加到学生信息数组中。
注意:检查学生信息数组是否已满,若已满则提示无法添加。


void deleteStudent()
作用:从学生信息数组中删除指定学生的信息。
功能:提示用户输入要删除的学生的学号,根据学号在学生信息数组中查找并删除对应的学生信息。
输入:要删除的学生学号。
注意:如果找不到对应学号的学生信息,则提示未找到。


void modifyStudent()
作用:修改学生信息数组中指定学生的信息。
功能:提示用户输入要修改的学生的学号,根据学号在学生信息数组中查找对应的学生信息,并允许用户修改其姓名、班级、学院等信息。
输入:要修改的学生学号及新的信息。
注意:如果找不到对应学号的学生信息,则提示未找到。


void viewSingleStudent()
作用:查看学生信息数组中指定学生的详细信息。
功能:提示用户输入要查看的学生的学号,根据学号在学生信息数组中查找对应的学生信息,并显示其学号、姓名、班级、学院等详细信息。
输入:要查看的学生学号。
输出:指定学生的详细信息。
注意:如果找不到对应学号的学生信息,则提示未找到。


void viewAllStudents()
作用:查看所有学生的信息。
功能:遍历学生信息数组,显示所有学生的学号、姓名、班级、学院等信息。
输出:所有学生的信息。
注意:如果学生信息为空,则提示学生信息为空。


学生成绩管理函数


void addScore()
作用:向成绩数组中添加新的学生成绩。
功能:提示用户输入学生的学号、姓名以及各科目成绩,计算总分并将新的成绩添加到成绩数组中。
输入:学生的学号、姓名以及各科目成绩。
注意:检查成绩数组是否已满,若已满则提示无法添加。


void deleteScore()
作用:从成绩数组中删除指定学生的成绩信息。
功能:提示用户输入要删除成绩的学生学号,根据学号在成绩数组中查找并删除对应的学生成绩。
输入:要删除成绩的学生学号。
注意:如果找不到对应学号的学生成绩信息,则提示未找到。


void modifyScore()
作用:修改成绩数组中指定学生的成绩信息。
功能:提示用户输入要修改成绩的学生学号,根据学号在成绩数组中查找对应的学生成绩,并允许用户修改各科目成绩。
输入:要修改成绩的学生学号及新的成绩信息。
注意:如果找不到对应学号的学生成绩信息,则提示未找到。


void viewSingleScore()
作用:查看成绩数组中指定学生的成绩信息。
功能:提示用户输入要查看成绩的学生学号,根据学号在成绩数组中查找对应的学生成绩,并显示其各科目成绩及总分。
输入:要查看成绩的学生学号。
输出:指定学生的成绩信息。
注意:如果找不到对应学号的学生成绩信息,则提示未找到。


void viewAllScores()
作用:查看所有学生的成绩信息。
功能:遍历成绩数组,显示所有学生的学号、姓名及总分信息。
输出:所有学生的成绩信息。
注意:如果成绩信息为空,则提示成绩信息为空。


void viewSubjectAverage()
作用:计算并显示各科目的平均分。
功能:遍历成绩数组,计算计算机专业课、数学、政治、英语等科目的平均分,并显示出来。
输出:各科目的平均分。
注意:如果成绩信息为空,则提示成绩信息为空。


void viewTotalRanking()
作用:显示学生总分排行。
功能:将成绩数组按照总分进行排序,并根据用户选择的顺序(升序或降序)显示学生的排名及相关信息。
输入:排序顺序的选择。
输出:学生的总分排行。
注意:如果成绩信息为空,则提示成绩信息为空。


文件操作函数


void saveStudentsToFile()
作用:将学生信息保存到文件中。
功能:将学生信息数组中的学生信息按照指定格式保存到文件中。


void saveScores

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值