【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。然后,函数会输出表头,包括学号、姓名、语文、数学、英语和总成绩的标题。接下来,它通过循环遍历学生信息数组,逐行输出每个学生的具体信息,包括学号、姓名、语文成绩、数学成绩、英语成绩和总成绩。最后,函数会暂停程序的执行,等待用户按下任意键继续。这个函数的设计目的是清晰地展示整个学生信息,方便用户查看和分析。

相关推荐
翔云API几秒前
人证合一接口:智能化身份认证的最佳选择
大数据·开发语言·node.js·ocr·php
jimmy.hua几秒前
C++刷怪笼(5)内存管理
开发语言·数据结构·c++
xiaobai12 34 分钟前
二叉树的遍历【C++】
开发语言·c++·算法
DieSnowK10 分钟前
[项目][WebServer][Makefile & Shell]详细讲解
开发语言·c++·http·makefile·shell·项目·webserver
Freak嵌入式11 分钟前
全网最适合入门的面向对象编程教程:50 Python函数方法与接口-接口和抽象基类
java·开发语言·数据结构·python·接口·抽象基类
冷凝女子13 分钟前
【QT】基于HTTP协议的网络应用程序
开发语言·qt·http
知识分享小能手17 分钟前
mysql学习教程,从入门到精通,SQL 删除数据(DELETE 语句)(19)
大数据·开发语言·数据库·sql·学习·mysql·数据开发
鸽芷咕25 分钟前
【Python报错已解决】libpng warning: iccp: known incorrect sRGB profile
开发语言·python·机器学习·bug
白总Server31 分钟前
MongoDB解说
开发语言·数据库·后端·mongodb·golang·rust·php
XyLin.34 分钟前
Msf之Python分离免杀
开发语言·python·网络安全·系统安全