【C语言期末】基于VS2022的学生成绩管理系统(2)

诚接计算机专业编程任务(C语言、C++、Python、Java、HTML、JavaScript、Vue等)10/15R,如有需要请私信我,或者加我的企鹅号:1404293476

本文资源:https://download.csdn.net/download/weixin_47040861/88737450


1.题目要求

设计题目:学生成绩管理系统

〔问题描述〕学生成绩管理是学校教务部门日常工作的重要组成部分,其处理信息量很大。本项目是对学生成绩管理的简单模拟,用菜单选择方式完成下列功能:

  1. 输入学生数据;
  2. 输出学生数据;
  3. 学生数据查询;
  4. 修改学生数据;
  5. 删除学生数据。

〔基本要求〕本项目的实质是完成对学生成绩信息的建立、查找、插入、修改、删除、排序等功能,可以首先定义项目的数据结构,然后将每个功能写成一个函数来完成对数据的操作,最后完成主函数以验证各个函数功能并得出运行结果。学生的考试成绩必须通过键盘输入,且需对输出进行格式控制。

2.实现效果

1.菜单

2.添加功能

3.显示功能

4.查询功能

5.修改功能

6.删除功能

7.排序功能

3.实现思路

1.添加函数:inputStudentData()

这个函数是为了方便用户录入学生信息而设计的。当我调用这个函数时,首先会看到一条提示信息,要求我输入学生的信息。接着,我需要提供学生的学号,函数会检查是否已存在相同学号的学生。如果存在,会输出错误信息,要求重新输入。然后,我需要输入学生的姓名、语文成绩、数学成绩和英语成绩。函数会自动计算总成绩,并将新的学生数据添加到学生信息数组中。最后,函数会输出添加成功的提示信息,并暂停程序执行,等待用户按下任意键继续。这个函数的设计旨在简化学生信息的录入过程,确保数据的准确性和唯一性。

2.删除函数:deleteStudentData

这个函数实现了删除学生信息的功能。当调用这个函数时,首先会检查传递给它的参数是否有效,包括学生信息数组 Info 和数组长度 len。接着,函数会要求用户输入要删除的学生信息的学号。

然后,函数会遍历学生数组,查找具有与用户输入学号相匹配的学生信息。如果找到匹配的学生,函数会输出该学生删除前的信息,包括学号、姓名、语文成绩、数学成绩、英语成绩和总成绩。随后,函数会通过将数组中的元素向前移动一个位置,实现删除该学生的信息,并更新数组长度。

如果未找到匹配的学生,函数会输出相应的提示信息。

最后,函数会暂停程序的执行,等待用户按下任意键继续。这个函数的设计目的是提供一种方便的方式,允许用户通过学号定位到要删除的学生信息,并执行删除操作。

3.修改函数:modifyStudentData

这个函数是一个用于修改学生信息的功能。当调用这个函数时,首先会检查传递给它的参数是否有效,包括学生信息数组 Info 和数组长度 len。接着,函数会要求用户输入要修改的学生信息的学号。

然后,函数会遍历学生数组,查找具有与用户输入学号相匹配的学生信息。如果找到匹配的学生,函数会调用 inputStudentData 函数,将修改后的学生信息输入到数组中。这样,实际上是通过重新输入新的学生信息来实现修改操作。

如果未找到匹配的学生,函数会输出相应的提示信息。

最后,函数会暂停程序的执行,等待用户按下任意键继续。这个函数的设计目的是提供一种方便的方式,允许用户通过学号定位到要修改的学生信息,并用新的信息进行更新。

4.查询函数:searchStudentData

这个函数实现了对学生数据的查询功能。调用这个函数时,首先会检查传递给它的参数是否有效,包括学生信息数组 Info 和数组长度 len。接着,函数会调用 searchShow 函数,显示查询选项的信息,让用户选择查询的项。用户输入要查询的编号后,函数会根据不同的查询项(学号、姓名、语文成绩、数学成绩、英语成绩、总成绩)接收用户输入的具体查询值。

然后,函数会遍历学生数组,根据用户选择的查询项进行匹配。如果找到符合条件的学生,函数会输出该学生的详细信息,包括学号、姓名、语文成绩、数学成绩、英语成绩和总成绩。如果未找到符合条件的学生,函数会输出提示信息。

最后,函数会暂停程序的执行,等待用户按下任意键继续。这个函数的设计旨在提供用户友好的学生信息查询功能,允许用户通过不同的查询项查找特定学生的信息。

5.排序函数:sort_info

这一段包含两个函数,一个是 swap 函数,用于交换两个学生信息结构体的内容;另一个是 sort_info 函数,用于根据用户选择的成绩项对学生信息进行排序。

swap 函数

swap 函数实现了两个学生信息结构体的内容交换,它通过引用传递两个结构体指针,将结构体内容进行交换。

sort_info 函数

sort_info 函数根据用户选择的成绩项(语文、数学、英语、总分),使用冒泡排序算法对学生信息进行排序。根据不同的成绩项,调用 swap 函数进行结构体内容的交换。最后,输出排序后的学生信息。

这样的设计使得用户能够选择不同的成绩项进行排序,提供了一种灵活的排序功能。

6.显示函数:outputStudentData

这个函数实现了输出学生信息的功能。当调用这个函数时,它首先检查传递给它的参数是否有效,包括学生信息数组 Info 和数组长度 len。然后,函数会输出表头,包括学号、姓名、语文、数学、英语和总成绩的标题。接下来,它通过循环遍历学生信息数组,逐行输出每个学生的具体信息,包括学号、姓名、语文成绩、数学成绩、英语成绩和总成绩。最后,函数会暂停程序的执行,等待用户按下任意键继续。这个函数的设计目的是清晰地展示整个学生信息,方便用户查看和分析。

相关推荐
Watermelo617几秒前
详解js柯里化原理及用法,探究柯里化在Redux Selector 的场景模拟、构建复杂的数据流管道、优化深度嵌套函数中的精妙应用
开发语言·前端·javascript·算法·数据挖掘·数据分析·ecmascript
A懿轩A1 小时前
C/C++ 数据结构与算法【数组】 数组详细解析【日常学习,考研必备】带图+详细代码
c语言·数据结构·c++·学习·考研·算法·数组
半盏茶香1 小时前
在21世纪的我用C语言探寻世界本质 ——编译和链接(编译环境和运行环境)
c语言·开发语言·c++·算法
Evand J2 小时前
LOS/NLOS环境建模与三维TOA定位,MATLAB仿真程序,可自定义锚点数量和轨迹点长度
开发语言·matlab
LucianaiB2 小时前
探索CSDN博客数据:使用Python爬虫技术
开发语言·爬虫·python
Ronin3052 小时前
11.vector的介绍及模拟实现
开发语言·c++
字节高级特工2 小时前
【C++】深入剖析默认成员函数3:拷贝构造函数
c语言·c++
计算机学长大白3 小时前
C中设计不允许继承的类的实现方法是什么?
c语言·开发语言
PieroPc4 小时前
Python 写的 智慧记 进销存 辅助 程序 导入导出 excel 可打印
开发语言·python·excel
2401_857439697 小时前
SSM 架构下 Vue 电脑测评系统:为电脑性能评估赋能
开发语言·php