【C++期末/课程设计】学生成绩管理系统(VC++2010/EasyX)

代写C语言、C++、Java、Python、HTML、JavaScript、vue、MySQL相关编程作业,
长期接单,信誉有保证,标价10-20每份,如有需要请加文章末尾QQ。

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


1.题目要求

实验名称:学生成绩管理系统的设计与实现
实验内容:
(1)每一条记录包括一个学生的学号、姓名、3门课成绩、平均成绩。
(2)输入功能:可以一次完成若 干条记录的输入。
(3)显示功能:完成全部学生记录的显示。
(4)查找功能:完成按姓名或学号查找学生记录,并显示。
(5)排序功能:按学生平均成绩进行排序。
(6)插入功能:按平均成绩高低插入-条学生记录。
(7)将学生记录存在文件score中。
(8)提供一个界面来调用各个功能,调用界面和各个功能的操作界面应尽可能清晰美观。
实验目的与要求:
(1)系统具有增加、查询、插入、排序等基本功能;
(2)系统的各个功能模块要求用函数的形式实现;
(3)将学生成绩信息存在文件中。
(4)使用链式存储结构

2.视频演示

【C++期末/课程设计】学生成绩管理系统(EasyX)

3.项目介绍

首先,该项目的数据均存储在项目目录下的“score.csv”文件中:

而项目中的数据则保存在结构体中,采用链式存储数据

struct Student {
    int id;
    std::string name;
    double scores[3];
    double average;
    Student* next; // 指向下一个学生的指针
};

每次启动项目时会先调用createFile()函数判断当前项目目录下是否存在“score.csv”文件,若不存在则创建,然后调用get_info()函数读取文件“score.csv”文件中的数:

int main() {
    StudentList studentList;

	// 检查数据文件并读取
	createFile("score.csv");
    studentList.get_info("score.csv");

然后使用initgraph()函数创建一个宽800高400的窗口,并在窗口中渲染按钮,不同的按钮对应不同的功能函数:

initgraph(600, 300,SHOWCONSOLE); // 创建窗口
setbkcolor(WHITE); // 设置窗口背景色为白色
cleardevice(); // 清屏,使背景色生效

1.录入学生信息

逐行接收用户输入的学生数据,其中学号数据唯一,若输入学号已存在则给出相应提示,学生成绩必须为纯数字,每次输入完成一组数据后系统会询问用户是否继续输入,若是则继续接收下组数据,若否则结束输入,退出循环:

2.显示学生信息

 以表格的形式显示所有学生的信息,其中平均成绩由其余三门课的成绩计算得到

3.查询学生信息

根据用户输入的操作编号和内容查询学生的学号或姓名,若不存在则提示,其中学生姓名可以重复,所以可以查询到多条信息:

4.学生信息排序

按平均成绩降序排序,将排序结果以表格的形式打印到控制台,这里使用了冒泡排序,排序的结果会修改原文件中的数据顺序:

5.插入学生信息

首先对学生平均成绩进行降序排序,然后接收一个位置编号用于插入数据,数字是几就在第几位之后插入数据:

6.退出

点击退出按钮结束循环,程序退出

 ↓如对项目有任何问题或需要,请加下方QQ↓

  • 26
    点赞
  • 16
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

a辰龙a

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值