学生成绩管理系统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;
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/36593.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Vue [Day7]

文章目录 自定义创建项目ESlint 代码规范vuex 概述创建仓库向仓库提供数据使用仓库中的数据通过store直接访问通过辅助函数 mapState&#xff08;简化&#xff09;mutations传参语法(同步实时输入&#xff0c;实时更新辅助函数 mapMutationsaction &#xff08;异步辅助函数map…

IntelliJ IDEA 2021/2022关闭双击shift全局搜索

我这里演示的是修改&#xff0c;删除是右键的时候选择Remove就好了 IDEA左上角 File-->Settings 找到Navigate -->Search Everywhere &#xff0c;右键添加快捷键。 OK --> Apply应用

C语言学习之const关键字的使用

const修饰变量&#xff1a;const关键字修饰变量时&#xff0c;该变量表示是一个只读变量&#xff0c;不能通过变量名修改变量的值&#xff1b;案例&#xff1a; const int m 20; int const n 30; m 30;//不可以赋值&#xff0c;因为m是只读变量 n 20;//不可以赋值&#xf…

初始多线程

目录 认识线程 线程是什么&#xff1a; 线程与进程的区别 Java中的线程和操作系统线程的关系 创建线程 继承Thread类 实现Runnable接口 其他变形 Thread类及其常见方法 Thread的常见构造方法 Thread类的几个常见属性 Thread类常用的方法 启动一个线程-start() 中断…

前端食堂技术周刊第 93 期:7 月登陆 Web 平台的新功能、Node.js 工具箱、Nuxt3 开发技巧、MF 重构方案

美味值&#xff1a;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f;&#x1f31f; 口味&#xff1a;橙橙冰萃美式 食堂技术周刊仓库地址&#xff1a;https://github.com/Geekhyt/weekly 大家好&#xff0c;我是童欧巴。欢迎来到前端食堂技术周刊&#xff0c;我们先来…

Android多屏幕支持-Android12

Android多屏幕支持-Android12 1、概览及相关文章2、屏幕窗口配置2.1 配置xml文件2.2 DisplayInfo#uniqueId 屏幕标识2.3 adb查看信息 3、配置文件解析3.1 xml字段读取3.2 简要时序图 4、每屏幕焦点 android12-release 1、概览及相关文章 AOSP > 文档 > 心主题 > 多屏…

如何利用DeepBook自动做市商(AMM),发挥应用的最大价值

尽管Sui宣布DeepBook作为其首个本地流动性层&#xff0c;即中央限价单簿&#xff08;Central Limit Order Book&#xff0c;CLOB&#xff09;&#xff0c;但自动做市商&#xff08;Automated Market Maker&#xff0c;AMM&#xff09;平台也可以在Sui上发挥作用。事实上&#x…

理解jvm之对象已死怎么判断?

目录 引用计数算法 什么是引用 可达性分析算法&#xff08;用的最多的&#xff09; 引用计数算法 定义&#xff1a;在对象中添加一个引用计数器&#xff0c;每当有一个地方引用它时&#xff0c;计数器值就加一&#xff1b;当引用失效时&#xff0c;计数器值就减一&#xff1…

文件批量改名高手:轻松删除文件名,仅保留编号!

您是否经常需要对大量文件进行命名调整&#xff1f;是否为繁琐的手动操作而感到厌烦&#xff1f;现在&#xff0c;我们的智能批量文件改名工具为您提供了一种简单而高效的解决方案&#xff01;只需几步操作&#xff0c;您就能轻松删除原有的文件名&#xff0c;仅保留编号&#…

YOLO相关原理(文件结构、视频检测等)

超参数进化(hyperparameter evolution) 超参数进化是一种使用了genetic algorithm&#xff08;GA&#xff09;遗传算法进行超参数优化的一种方法。 YOLOv5的文件结构 images文件夹内的文件和labels中的文件存在一一对应关系 激活函数&#xff1a;非线性处理单元 activation f…

c#学习路线

文章目录 .net coreN层架构大项目实战高性能互联网项目架构c#高级编程各种主流框架分布式通信SSO单点登录+权限管理系统实战N层架构WEB安全ASP.NET MVCNoSQLORM框架c#6和c#7新语法VS插件分享项目管理三层项目实战三层架构ASP.NET基础数据库和ASP.NETADO.NET计算机基础计算机硬件…

C# 11 中的新增功能

本文内容 泛型属性泛型数学支持数值 IntPtr 和 UIntPtr字符串内插中的换行符 显示另外 11 个 C# 11 中增加了以下功能&#xff1a; 原始字符串字面量泛型数学支持泛型属性UTF-8 字符串字面量字符串内插表达式中的换行符列表模式文件本地类型必需的成员自动默认结构常量 str…

【设计模式】MVC 模式

MVC 模式代表 Model-View-Controller&#xff08;模型-视图-控制器&#xff09; 模式。这种模式用于应用程序的分层开发。 Model&#xff08;模型&#xff09; - 模型代表一个存取数据的对象或 JAVA POJO。它也可以带有逻辑&#xff0c;在数据变化时更新控制器。View&#xff…

Linux6.37 Kubernetes 集群调度

文章目录 计算机系统5G云计算第三章 LINUX Kubernetes 集群调度一、调度约束1.调度过程2.指定调度节点3.亲和性1&#xff09;节点亲和性2&#xff09;Pod 亲和性3&#xff09;键值运算关系 4.污点(Taint) 和 容忍(Tolerations)1&#xff09;污点(Taint)2&#xff09;容忍(Toler…

centos搭建k8s

centos搭建k8s环境_centos k8s_进击的Coders的博客-CSDN博客

VSCODE[配置ssh免密远程登录]

配置ssh免密远程登录 本文摘录于&#xff1a;https://blog.csdn.net/qq_44571245/article/details/123031276只是做学习备份之用&#xff0c;绝无抄袭之意&#xff0c;有疑惑请联系本人&#xff01; 这里要注意如下几个地方: 1.要进入.ssh目录创建文件: 2.是拷贝带"ssh-…

微服务系列文章之 Springboot+Vue实现登录注册

一、springBoot 创建springBoot项目 分为三个包&#xff0c;分别为controller&#xff0c;service&#xff0c; dao以及resource目录下的xml文件。 UserController.java 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 …

如何利用 EMC 模型解决能源服务提供商的瓶颈

01. 什么是合同能源管理&#xff1f; 合同能源管理(EMC-Energy Management Contract) 是一种新型的市场化节能机制,其实质就是以减少的能源费用来支付节能项目全部成本的节能投资方式。&#xff1a;节能服务公司与用能单位以契约形式约定节能项目的节能目标&#xff0c;节能服…

(二)Node.js 基础模块

&#xff08;二&#xff09;Node.js 基础模块 1. fs文件系统模块1.1 什么是fs文件系统模块1.2 读取指定文件中的内容1. fs.readFile()的语法格式2. fs.readFile()的示例代码 1.3 向指定的文件中写入内容1. fs.writeFile()的语法格式2. fs.writeFile()的实例代码 1.4 __dirname …

正则表达式的使用

1、正则表达式-教程 正则表达式&#xff1a;文本模式&#xff0c;包括普通字符&#xff08;例如&#xff0c;a到z之间的字母&#xff09;和特殊字符&#xff08;称为元字符&#xff09;。 正则表达式使用单个字符串来描述&#xff0c;匹配一系列匹配某个句法规则的字符串。 2、…