当前位置: 首页 > news >正文

学生成绩管理系统V1.0

某班有最多不超过30人(具体人数由键盘输入)参加某门课程的考试,用一维数组作函数参数编程实现如下学生成绩管理:

1)录入每个学生的学号和考试成绩;

2)计算课程的总分和平均分;

3)按成绩由高到低排出名次表;

4)按学号由小到大排出成绩表;

5)按学号查询学生排名及其考试成绩;

6)按优秀(90~100)、良好(80~89)、中等(70~79)、及格(60~69)、不及格(0~595个类别,统计每个类别的人数以及所占的百分比;

7)输出每个学生的学号、考试成绩。

#include <iostream>
#include <iomanip>
using namespace std;
void input(int a[], float b[],int);
void caculate(float a[],int);
void sort_in_descending_order_by_score(int a[], float b[],int);
void sort_in_ascending_order_by_number(int a[],float b[],int);
void search(int a[],float b[],int);
void statistic(float a[],int);
int main()
{int n;cout << "Input student number(n<30):";cin >> n;int choice;int xvehao[30];float score[30];while (1){cout << endl;cout << "Management for Students' scores" << endl;cout << "1.Input record" << endl;cout << "2.Caculate total and average score of course" << endl;cout << "3.Sort in descending order by score" << endl;cout << "4.Sort in ascending order by number" << endl;cout << "5.Search by number" << endl;cout << "6.Statistic analysis" << endl;cout << "7.List record" << endl;cout << "0.Exit" << endl;cout << "Please Input your choice:";cin >> choice;if (choice == 1)input(xvehao, score, n);else if (choice == 2)caculate(score, n);else if (choice == 3)sort_in_descending_order_by_score(xvehao, score, n);else if (choice == 4)sort_in_ascending_order_by_number(xvehao, score, n);else if (choice == 5)search(xvehao, score, n);else if (choice == 6)statistic(score, n);else if (choice == 7)sort_in_ascending_order_by_number(xvehao, score, n);else if (choice == 0)break;else{cout << "Please input any number from 0 to 7!"<<endl; continue;}}return 0;
}
void input(int a[], float b[],int n)
{int i;cout << "Input student's ID, name and score:" << endl;for (i = 1; i <= n; i++){cin >> a[i] >> b[i];}}
void caculate(float a[], int n)
{float sum=0,aver;int i;for (i = 1; i <= n; i++){sum += a[i];}aver = sum / n;cout << "sum=" << sum << " , aver=" << fixed << setprecision(2) << aver;cout << endl;
}
void sort_in_descending_order_by_score(int a[], float b[], int n)
{int i, j,k;for (i = 1; i <= n; i++){k = i;for (j = i+1; j <= n ; j++){if (b[k] < b[j])k = j;}int x = a[i], y = b[i];a[i] = a[k]; b[i] = b[k];a[k] = x; b[k] = y;}for (i = 1; i <= n; i++){cout << a[i] << " " << b[i] << endl;}
}
void sort_in_ascending_order_by_number(int a[], float b[], int n)
{int i, j,k;for (i = 1; i <= n; i++){k = i;for (j = i + 1; j <= n; j++){if (a[j] < a[k])k = j;}int x = a[i], y = b[i];a[i] = a[k]; b[i] = b[k];a[k] = x; b[k] = y;}for (i = 1; i <= n; i++){cout << a[i] << " " << b[i] << endl;}
}
void search(int a[], float b[], int n)
{int number;cin >> number;int i,k;for (i = 1; i <= n; i++){if (a[i] == number){cout << a[i] << " " << b[i]<<endl;k = 1;break;}else k = 0;}if (k == 0)cout << "Can't find this student!"<<endl;
}
void statistic(float a[], int n)
{int i;int A = 0, B = 0, C = 0, D = 0, E = 0, F = 0;for (i = 1; i <= n; i++){if (a[i] == 100)A++;else if (a[i] >= 90 && a[i] <= 99)B++;else if (a[i] >= 80 && a[i] <= 89)C++;else if (a[i] >= 70 && a[i] <= 79)D++;else if (a[i] >= 60 && a[i] <= 69)E++;else F++;}cout << "<60 "  << F<< " " <<fixed<<setprecision(2)<< ((float)F / n) * 100 << "%" << endl;cout << "60-69 "  << E<< " " << fixed << setprecision(2) << ((float)E / n) * 100 << "%" << endl;cout << "70-79 "  << D<< " " << fixed << setprecision(2) << ((float)D / n) * 100 << "%" << endl;cout << "80-89 "  << C<< " " << fixed << setprecision(2) << ((float)C / n) *100<< "%"<<endl;cout << "90-99 "  << B<< " " << fixed << setprecision(2) << ((float)B / n) * 100 << "%" << endl;cout << "100 "  << A<< " " << fixed << setprecision(2) << ((float)A / n) * 100 << "%" << endl;
}

相关文章:

学生成绩管理系统V1.0

某班有最多不超过30人&#xff08;具体人数由键盘输入&#xff09;参加某门课程的考试&#xff0c;用一维数组作函数参数编程实现如下学生成绩管理&#xff1a; &#xff08;1&#xff09;录入每个学生的学号和考试成绩&#xff1b; &#xff08;2&#xff09;计算课程的总分…...

嵌入式:ARM Day1

1. 思维导图 2.作业一 3.作业2...

Android 网络协议与网络编程

一、TCP/IP协议 Transmission Control Protocol/Internet Protocol的简写&#xff0c;中译名为传输控制协议/因特网互联 协议&#xff0c;是Internet最基本的协议、Internet国际互联网络的基础&#xff0c;由网络层的IP协议和传输层的TCP 协议组成。协议采用了4层的层级结构。…...

【讯飞星火认知大模型】大模型之星火手机助理

目录 1. 讯飞星火认知大模型介绍 2. API 申请 3. 星火手机助理 4. 效果展示 1. 讯飞星火认知大模型介绍 讯飞星火认知大模型是科大讯飞自研的基于深度学习的自然语言处理模型&#xff0c;它可以理解和生成中文&#xff0c;执行多种任务&#xff0c;如问答、翻译、写作、编…...

centos中的swap.img可以删除吗

swap.img 是 CentOS 系统中的交换分区文件&#xff0c;用于辅助内存管理。交换分区在系统内存不足时用于存储不常用的数据&#xff0c;而不是直接写入硬盘。一般情况下&#xff0c;不建议删除交换分区文件&#xff0c;因为它对系统的正常运行非常重要。 如果您真的希望删除交换…...

Java多线程编程中的线程死锁

Java多线程编程中的线程死锁 ​ 在多线程编程中&#xff0c;线程死锁是一种常见的问题&#xff0c;它发生在两个或多个线程互相等待对方释放资源的情况下&#xff0c;导致程序无法继续执行。本文将介绍线程死锁的概念、产生原因、示例以及如何预防和解决线程死锁问题。 线程死…...

在浏览器中使用javascript打印HTML中指定Div带背景图片内容生成PDF电子证书查询的解决方案

在浏览器中使用javascript打印HTML中指定Div带背景图片内容生成PDF电子证书查询的解决方案 一、指定内容打印二、背景图片打印1.CSS背景图片设置2.div相对定位居中 三、完整案例展示1.CSS样式表2.HTML容器构建 一、指定内容打印 要调用浏览器中的打印功能&#xff0c;并指定需…...

【Redis实践篇】使用Redisson 优雅实现项目实践过程中的5种场景

文章目录 1.前言2.使用方式1. 添加Redisson依赖&#xff1a;2. 配置Redis连接信息3. 使用场景3.1. 分布式锁3.2. 限流器&#xff08;Rate Limiter&#xff09;3.3. 可过期的对象&#xff08;Expirable Object&#xff09;3.4. 信号量&#xff08;Semaphore&#xff09;3.5. 分布…...

污水处理厂人员定位方案介绍

污水处理厂人员定位在现代化的污水处理厂中具有重要的意义&#xff0c;它可以带来多方面的优势和好处&#xff1a; 安全管理&#xff1a; 污水处理厂通常涉及到各种危险环境和设备&#xff0c;如化学品、高压设备等。人员定位系统可以追踪人员的位置&#xff0c;确保他们不会进…...

约数个数(质因子分解)

思路&#xff1a; &#xff08;1&#xff09;由数论基本定理&#xff0c;任何一个正整数x都能写作&#xff0c;其中p1,p2..pk为x的质因子。 &#xff08;2&#xff09;由此可以推断&#xff0c;要求一个数约数的个数&#xff0c;注意到约数就是p1,p2...pk的一种组合&#xff…...

【QT】 QSS样式表设计一文了解

很高兴在雪易的CSDN遇见你 &#xff0c;给你糖糖 欢迎大家加入雪易社区-CSDN社区云 前言 本文分享QT界面设计中的QSS样式技术&#xff0c;主要从**、**和**方面展开&#xff0c;希望对各位小伙伴有所帮助&#xff01;学会了QSS样式设计&#xff0c;就可以开动你的审美&#…...

9-AJAX-1入门

AJAX 目录 AJAX 概念和 axios 使用认识 URLURL 查询参数常用请求方法和数据提交HTTP协议-报文接口文档案例 - 用户登录form-serialize 插件 01.AJAX 概念和 axios 使用 目标 了解 AJAX 概念并掌握 axios 库基本使用 讲解 什么是 AJAX ? mdn 使用浏览器的 XMLHttpRequest…...

ssh免密登录

客户端 第一步&#xff1a;生成密钥 ssh-keygen -t rsa 第二步&#xff1a;从“~/.ssh/id_rsa.pub”拷贝公钥 服务器端 填写公钥 打开authorized_keys&#xff0c;并把刚刚的公钥填进去 重启服务 sudo systemctl restart sshd...

全球公链周进展-2023/8/14

Tokenview每周周一准时更新全球公链最新进展&#xff0c;致力于为全球公链爱好者整合最新项目进展。 过去一周&#xff0c;明星项目动态如下&#xff1a; 第 115 次以太坊核心开发者共识会议总结 以太坊客户端 Geth v1.12.1版本发布&#xff0c;聚焦Cancun硬分叉 以太坊Holesk…...

python装饰器详解,python装饰器笔记心得

装饰器 装饰器是程序开发中经常会用到的一个功能&#xff0c;用好了装饰器&#xff0c;开发效率如虎添翼&#xff0c;所以这也是Python面试中必问的问题。但对于好多初次接触这个知识的人来讲&#xff0c;这个功能有点绕&#xff0c;自学时直接绕过去了&#xff0c;然后面试问…...

【C语言】每日一题(寻找数组的中心下标)

寻找数组的中心下标&#xff0c;链接奉上 方法 暴力循环前缀和 暴力循环 ​​​​​​​思路&#xff1a; 依旧是我们的老朋友&#xff0c;暴力循环。 1.可以利用外层for循环&#xff0c;循环变量为数组下标&#xff0c;在循环内分别求出下标左边与右边的sum 2.在边界时讨论&…...

centos 安装 nginx配置ssl 和 获取用户真实ip

安装所需环境 nginx 是用 C语言开发的&#xff0c;建议在Linux上使用&#xff0c;如果是windows用户&#xff0c;也可以使用windows版本。 一. gcc 安装 安装 nginx 需要先将官网下载的源码进行编译&#xff0c;编译依赖 gcc 环境&#xff0c;如果有 gcc 环境&#xff0c;则不…...

RocketMQ 消息消费 轮询机制 PullRequestHoldService

1. 概述 先来看看 RocketMQ 消费过程中的轮询机制是啥。首先需要补充一点消费相关的前置知识。 1.1 消息消费方式 RocketMQ 支持多种消费方式&#xff0c;包括 Push 模式和 Pull 模式 Pull 模式&#xff1a;用户自己进行消息的拉取和消费进度的更新Push 模式&#xff1a;Broker…...

springboot 数据库版本升级管理常用解决方案

目录 一、前言 1.1 单独执行初始化sql 1.2 程序自动执行 二、数据库版本升级管理问题 三、spring 框架sql自动管理机制 3.1 jdbcTemplate 方式 3.1.1 创建数据库 3.1.2 创建 springboot 工程 3.1.3 初始化sql脚本 3.1.4 核心配置类 3.1.5 执行sql初始化 3.2 配置文…...

78. 子集

题目描述 给你一个整数数组 nums &#xff0c;数组中的元素 互不相同 。返回该数组所有可能的子集&#xff08;幂集&#xff09;。 解集 不能 包含重复的子集。你可以按 任意顺序 返回解集。 示例 1&#xff1a; 输入&#xff1a;nums [1,2,3] 输出&#xff1a;[[],[1],[2…...

JavaSec-RCE

简介 RCE(Remote Code Execution)&#xff0c;可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景&#xff1a;Groovy代码注入 Groovy是一种基于JVM的动态语言&#xff0c;语法简洁&#xff0c;支持闭包、动态类型和Java互操作性&#xff0c…...

循环冗余码校验CRC码 算法步骤+详细实例计算

通信过程&#xff1a;&#xff08;白话解释&#xff09; 我们将原始待发送的消息称为 M M M&#xff0c;依据发送接收消息双方约定的生成多项式 G ( x ) G(x) G(x)&#xff08;意思就是 G &#xff08; x ) G&#xff08;x) G&#xff08;x) 是已知的&#xff09;&#xff0…...

mongodb源码分析session执行handleRequest命令find过程

mongo/transport/service_state_machine.cpp已经分析startSession创建ASIOSession过程&#xff0c;并且验证connection是否超过限制ASIOSession和connection是循环接受客户端命令&#xff0c;把数据流转换成Message&#xff0c;状态转变流程是&#xff1a;State::Created 》 St…...

理解 MCP 工作流:使用 Ollama 和 LangChain 构建本地 MCP 客户端

&#x1f31f; 什么是 MCP&#xff1f; 模型控制协议 (MCP) 是一种创新的协议&#xff0c;旨在无缝连接 AI 模型与应用程序。 MCP 是一个开源协议&#xff0c;它标准化了我们的 LLM 应用程序连接所需工具和数据源并与之协作的方式。 可以把它想象成你的 AI 模型 和想要使用它…...

2025盘古石杯决赛【手机取证】

前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来&#xff0c;实在找不到&#xff0c;希望有大佬教一下我。 还有就会议时间&#xff0c;我感觉不是图片时间&#xff0c;因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

CMake 从 GitHub 下载第三方库并使用

有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

图表类系列各种样式PPT模版分享

图标图表系列PPT模版&#xff0c;柱状图PPT模版&#xff0c;线状图PPT模版&#xff0c;折线图PPT模版&#xff0c;饼状图PPT模版&#xff0c;雷达图PPT模版&#xff0c;树状图PPT模版 图表类系列各种样式PPT模版分享&#xff1a;图表系列PPT模板https://pan.quark.cn/s/20d40aa…...

如何在最短时间内提升打ctf(web)的水平?

刚刚刷完2遍 bugku 的 web 题&#xff0c;前来答题。 每个人对刷题理解是不同&#xff0c;有的人是看了writeup就等于刷了&#xff0c;有的人是收藏了writeup就等于刷了&#xff0c;有的人是跟着writeup做了一遍就等于刷了&#xff0c;还有的人是独立思考做了一遍就等于刷了。…...

使用 SymPy 进行向量和矩阵的高级操作

在科学计算和工程领域&#xff0c;向量和矩阵操作是解决问题的核心技能之一。Python 的 SymPy 库提供了强大的符号计算功能&#xff0c;能够高效地处理向量和矩阵的各种操作。本文将深入探讨如何使用 SymPy 进行向量和矩阵的创建、合并以及维度拓展等操作&#xff0c;并通过具体…...

Hive 存储格式深度解析:从 TextFile 到 ORC,如何选对数据存储方案?

在大数据处理领域&#xff0c;Hive 作为 Hadoop 生态中重要的数据仓库工具&#xff0c;其存储格式的选择直接影响数据存储成本、查询效率和计算资源消耗。面对 TextFile、SequenceFile、Parquet、RCFile、ORC 等多种存储格式&#xff0c;很多开发者常常陷入选择困境。本文将从底…...