C语言制作简易学生管理系统

一、实验方法和步骤

1.系统功能模块图

  1. 代码及相关注解
  1. 定义全局变量M(需要录入系统的学生人数)、定义学生结构体、并对所有函数进行声明。

  1. 用printf语句打印主菜单

  1. 学生信息录入功能:

先通过printf、scanf语句获取需要录入的学生人数M,然后用for循环循环M次,依次录入每一个学生的信息;学生四科成绩都获取成功则会自动计算学生的总分和平均分,并输出总分和平均分,提示信息录入成功。

  1. 学生信息输出功能:

用printf语句打印输出菜单,定义一个新的结构体t;用while(1)语句使该模块进入无限循环,若输入的功能编码不存在,则会一直循环菜单页面,并提示重新输入;若输入编码正确,则会进入相关功能模块;用switch语句跳入需要的功能模块。

所有排序输出均使用选择排序法对数据进行排序并输出

按学号大小输出功能

按学科1成绩高低输出功能

按学科2成绩高低输出功能

按学科3成绩高低输出功能

按学科4成绩高低输出功能

按总分高低输出功能

按平均分高低输出功能

  1. 查找学生信息功能:

用printf语句打印输出菜单;用while(1)语句使该模块进入无限循环,若输入的功能编码不存在,则会一直循环菜单页面,并提示重新输入;若输入编码正确,则会进入相关功能模块;将所需功能封装为函数,用switch语句跳入需要的功能模块。

按学号/姓名查找功能:

先用scanf语句获取需要查找的学号或姓名,再使用for循环将获取的学号/姓名,与已存储的信息进行比较判断(if语句),判断成功则输出学生信息。

  1. 修改学生信息功能:

用printf语句打印输出菜单;用while(1)语句使该模块进入无限循环,若输入的功能编码不存在,则会一直循环菜单页面,并提示重新输入;若输入编码正确,则会进入相关功能模块;将所需功能封装为函数,用switch语句跳入需要的功能模块。

所有修改功能均先定义一个a=0,并使用while对该模块进行循环;在该模块中,先使用scanf语句获取需要修改的学生学号,再使用for循环将获取到的学号与已存储的信息进行比较判断(if语句),若能找到需要修改的学生,则可继续输入相关修改信息替换旧信息,并输出修改结果,然后使用continue结束for循环,并将a赋值为1结束while循环;若输入的学号不存在,a的值始终为0,则会一直循环该模块,并提示重新输入。

修改学号功能

修改姓名功能

修改班级功能

修改性别功能:

修改学科1成绩功能

修改学科2成绩功能

修改学科3功能

修改学科4功能

  1. 统计各平均成绩分数段学生信息功能:

先用printf、scanf语句获取所需要统计的分数段平均分J、m,然后使用for循环遍历每一个学生的平均分,并使用if语句判断每一个学生的平均分是否处于J~m区间内,判断为真则输出该学生信息,并执行s++(人数加1)。

  1. 计算各科平均分功能:

使用for循环获取每一个学生的学科1、学科2、学科3、学科4的成绩,并分类相加得出每一门学科的总分数(sum_1、sum_2、sum_3、sum_4),将总分数分别除以总人数M,即可得到各科平均分average。

  1. 删除学生信息功能:

用printf语句打印输出菜单;用while(1)语句使该模块进入无限循环,若输入的功能编码不存在,则会一直循环菜单页面,并提示重新输入;若输入编码正确,则会进入相关功能模块;将所需功能封装为函数,用switch语句跳入需要的功能模块。

按学号/姓名删除功能:

先用scanf语句获取需要删除的学生学号或姓名,再使用for循环将获取的学号/姓名,与已存储的信息进行比较判断(if语句),判断成功则定位至i处,从i开始的学生,结构体位置全部与前面一个结构体位置交换(向前挪一位),交换完成后,所需删除的学生结构体便会处于最后一位,然后将M(学生总人数)减一,即可删除需要删除的学生信息。

按学号删除:

按姓名删除:

二、实验结果

  1. 菜单

  1. 学生信息录入

  1. 输出学生信息

①输出信息菜单

②按学号大小输出

③按学科1成绩高低输出

④按学科2成绩高低输出

⑤按学科3成绩高低输出

⑥按学科4成绩高低输出

⑦按学科平均成绩高低输出

⑧按学科总成绩高低输出

  1. 查找学生信息

查找菜单

②按学号查找

按姓名查找

  1. 修改学生信息

修改学生信息菜单

②修改学生学号

③修改学生姓名

④修改学生班级

⑤修改学生性别

⑥修改学生学科1的成绩

⑦修改学生学科2的成绩

⑧修改学生学科3的成绩

修改学生学科4的成绩

  1. 统计各平均成绩各分数段学生信息

例如:需要统计平均分未达到60分的学生,则输入0空格60,就会出现相应分数段的学生信息。

  1. 计算各科平均分

  1. 删除学生信息

删除信息菜单

②按学号删除学生信息

按姓名删除学生信息

  • 25
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值