【C++】STL案例1-评委打分

0.前言

在这里插入图片描述

1.系统自动生成的评委评分代码:

#include <iostream>
using namespace std;
#include <deque>
#include <vector>
#include <algorithm>
#include <string>//选手类
class Player
{
public:Player(string name, float score){m_Name = name;m_Score = score;}string m_Name; //姓名float m_Score; //平均分
};//创建选手
void createPlayer(vector<Player>& player)
{string Sname = "ABCDE";for (int i = 0; i < 5; i++){string name = "选手";name += Sname[i];float score = 0;Player p(name, score); //创建选手player.push_back(p);  //将创建的选手Player对象 放入到容器中}
}//给选手打分
void setScore(vector<Player>& player)
{srand((unsigned int)time(NULL));  //设置种子,确保每次运行生成不同的随机数for (vector<Player>::iterator it = player.begin(); it != player.end(); it++){deque<int>d; //创建deque容器,将十个评委的评分放入容器中for (int i = 0; i < 10; i++){float score = rand() % 41 + 60;  //评分 60~100 利用随机数d.push_back(score);}sort(d.begin(), d.end()); //将评分升序排序//去除最高分和最低分d.pop_back();d.pop_front();float sum = 0; //总分变量for (deque<int>::iterator dit = d.begin(); dit != d.end(); dit++){sum += *dit;  //将十个评分累加}float avg = sum / d.size();  //均分it->m_Score = avg;}
}//显示选手分数
void showScore(vector<Player>& player)
{for (vector<Player>::iterator it = player.begin(); it != player.end(); it++){cout << it->m_Name << "\t\t" << "平均分为:" << it->m_Score << endl;}cout << "选手评分结束!" << endl;
}int main() 
{vector<Player>player;createPlayer(player); //创建五名选手setScore(player); //给选手评分showScore(player); //显示选手分数//**************************************system("pause");return 0;
} 

在这里插入图片描述

2.用户手动输入评委评分代码:

#include <iostream>
using namespace std;
#include <deque>
#include <vector>
#include <algorithm>
#include <string>//选手类
class Player
{
public:Player(string name, float score){m_Name = name;m_Score = score;}string m_Name; //姓名float m_Score; //平均分
};//创建选手
void createPlayer(vector<Player>& player)
{string Sname = "ABCDE";for (int i = 0; i < 5; i++){string name = "选手";name += Sname[i];float score = 0;Player p(name, score); //创建选手player.push_back(p);  //将创建的选手Player对象 放入到容器中}
}//给选手打分
void setScore(vector<Player>& player)
{//srand((unsigned int)time(NULL));  //设置种子,确保每次运行生成不同的随机数cout << "请在场的十位评委们给选手们打分:" << endl;for (vector<Player>::iterator it = player.begin(); it != player.end(); it++){cout << it->m_Name << " 的十个分数分别为:" << endl;deque<int>d; //创建deque容器,将十个评委的评分放入容器中for (int i = 0; i < 10; i++){//float score = rand() % 41 + 60;  //评分 60~100 利用随机数//手动输入评分float score;cin >> score; d.push_back(score); //将分数插入deque容器中}sort(d.begin(), d.end()); //将评分升序排序//去除最高分和最低分d.pop_back();d.pop_front();float sum = 0; //总分变量for (deque<int>::iterator dit = d.begin(); dit != d.end(); dit++){sum += *dit;  //将十个评分累加}float avg = sum / d.size();  //均分it->m_Score = avg;}
}//显示选手分数
void showScore(vector<Player>& player)
{cout << "各选手的得分情况如下:" << endl;for (vector<Player>::iterator it = player.begin(); it != player.end(); it++){cout << it->m_Name << "\t\t" << "平均分为:" << it->m_Score << endl;}cout << "选手评分结束!" << endl;
}int main() 
{vector<Player>player;createPlayer(player); //创建五名选手setScore(player); //给选手评分showScore(player); //显示选手分数//**************************************system("pause");return 0;
} 

在这里插入图片描述

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

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

相关文章

机器学习深度学习——机器翻译(序列生成策略)

&#x1f468;‍&#x1f393;作者简介&#xff1a;一位即将上大四&#xff0c;正专攻机器学习的保研er &#x1f30c;上期文章&#xff1a;机器学习&&深度学习——seq2seq实现机器翻译&#xff08;详细实现与原理推导&#xff09; &#x1f4da;订阅专栏&#xff1a;机…

最新AI系统ChatGPT网站程序源码+搭建教程/公众号/H5端/安装配置教程/完整知识库

1、前言 SparkAi系统是基于国外很火的ChatGPT进行开发的Ai智能问答系统。本期针对源码系统整体测试下来非常完美&#xff0c;可以说SparkAi是目前国内一款的ChatGPT对接OpenAI软件系统。 那么如何搭建部署AI创作ChatGPT&#xff1f;小编这里写一个详细图文教程吧&#xff01;…

基于IDE Eval Resetter延长IntelliJ IDEA等软件试用期的方法(包含新版本软件的操作方法)

本文介绍基于IDE Eval Resetter插件&#xff0c;对集成开发环境IntelliJ IDEA等JetBrains公司下属的多个开发软件&#xff0c;加以试用期延长的方法。 我们这里就以IntelliJ IDEA为例&#xff0c;来介绍这一插件发挥作用的具体方式。不过&#xff0c;需要说明使用IDE Eval Rese…

Hlang社区-社区主页实现

文章目录 前言首页结构固定导航栏左侧导航itemitem标志头部推荐文章展示ITEM实现ToolTip完整实现首页完整实现前言 废话不多说,直接看到效果,这里的话是我们社区主页,不是产品宣传主页哈: 是的也许你已经发现了这个页面和某个网站长得贼像。没错是这样的,这个布局我确实…

vue3+vite+pinia

目录 一、项目准备 1.1、Vite搭建项目 1.2、vue_cli创建项目 二、组合式API(基于setup) 2.1、ref 2.2、reactive 2.3、toRefs 2.4、watch和watchEffect 2.5、computed 2.6、生命周期钩子函数 2.7、setup(子组件)的第一个参数-props 2.8、setup(子组件)的第二个参数…

STM32 CubeMX (Freertos任务:创建、删除、挂起、恢复)

STM32 CubeMX Freertos STM32 CubeMX &#xff08;Freertos任务&#xff1a;创建、删除、挂起、恢复&#xff09; STM32 CubeMX Freertos前言一、STM32 CubeMX 配置时钟树配置使能串口&#xff0c;用于用于检查实验现象使用STM32 CubeMX 库&#xff0c;配置Freertos创建任务 二…

概念解析 | 长尾分布:从无处不在的‘少数派’中挖掘价值

注1:本文系“概念解析”系列之一,致力于简洁清晰地解释、辨析复杂而专业的概念。本次辨析的概念是:长尾分布(Long-Tail Distribution)。 揭秘长尾分布:从无处不在的‘少数派’中挖掘价值 What is a Long Tail Distribution? (Definition & Example) - Statology 一、背…

神经网络基础-神经网络补充概念-02-逻辑回归

概念 逻辑回归是一种用于二分分类问题的统计学习方法&#xff0c;尽管名字中带有"回归"一词&#xff0c;但实际上它用于分类任务。逻辑回归的目标是根据输入特征来预测数据点属于某个类别的概率&#xff0c;然后将概率映射到一个离散的类别标签。 逻辑回归模型的核…

多主题自适应知识变现博客论坛,支持docker一键部署

iblog 给大家推荐一个多主题自适应&#xff0c;支持付费收款的博客论坛系统&#xff0c;支持docker一键部署&#xff0c;支持企业微信通知。 前端 多主题 自适应 个人页 后端 H2 console 运行命令 docker run -d --name iblog --restartalways -p 8080:8080 -e consoletrue …

RabbitMQ简单使用

RabbitMq是一个消息中间件&#xff1a;它接收消息、转发消息。你可以把它理解为一个邮局&#xff1a;当你向邮箱里寄出一封信后&#xff0c;邮递员们就能最终将信送到收信人手中。 RabbitMq、消息相关术语如下&#xff1a; 生产者&#xff1a;生产者只发送消息&#xff0c;发…

Postman接口自动化测试实例

一.实例背景 在实际业务中&#xff0c;经常会出现让用户输入用户密码进行验证的场景。而为了安全&#xff0c;一般都会先请求后台服务器获取一个随机数做为盐值&#xff0c;然后将盐值和用户输入的密码通过前端的加密算法生成加密后串传给后台服务器&#xff0c;后台服务器接到…

针对Android项目蓝牙如何学习

一、概述(Overview) 蓝牙是一种专有的开放式无线技术标准,用于在固定和移动设备之间进行短距离数据交换(使用2400–2480 MHz ISM波段的短波长无线电传输),从而创建具有高度安全性的个人局域网(PANs)。由电信供应商爱立信(telecoms vendor Ericsson)于1994年创建,[1…

pytest自动生成测试类 demo

一、 pytest自动生成测试类 demo # -*- coding:utf-8 -*- # Author: 喵酱 # time: 2023 - 08 -15 # File: test4.py # desc: import pytest import unittest# 动态生成测试类def create_test_class(class_name:str, test_cases:list) -> type:"""生成测试类…

TiDB数据库从入门到精通系列之一:TiDB数据库的软硬件环境要求和系统配置检查

TiDB数据库从入门到精通系列之一&#xff1a;TiDB数据库的软硬件环境要求和系统配置检查 一、软件和硬件配置要求1.操作系统及平台要求2.服务器建议配置3.网络要求4.磁盘空间要求 二、TiDB 环境与系统配置检查1.在 TiKV 部署目标机器上添加数据盘 EXT4 文件系统挂载参数2.设置 …

轻量级 Spring Task 任务调度可视化管理

Spring Task/Spring Scheduler 傻傻分不清 首先做一下“名词解释”&#xff0c;分清楚这两者的区别&#xff1a; Spring Task Spring Task 是 Spring 框架自带的一个任务调度模块&#xff0c;提供了基本的任务调度功能。它是通过 Java 的 Timer 和 TimerTask 类来实现的&…

python获取音乐文件

浏览器打开音乐地址 http://www.htqyy.com/top/hot 点击第一首歌曲&#xff0c;会打开新的网页并且可以获取 改歌曲的id&#xff0c;就是url中的33 在播放页面点击F12&#xff0c;打开开发者调试功能 如下图所示&#xff0c;在script脚本中可以获取歌曲的下载数据 host&#…

滑模控制器理论推导和matlab/simulink实例分享

滑模控制的运动轨迹主要分为两个方面&#xff1a;(1)系统的任意初始状态向滑模面运动阶段&#xff1b;(2)系统到达滑模面后并且慢慢趋于稳定的阶段。所以&#xff0c;对于滑模变结构控制器的设计&#xff0c;对应于系统运动的两个阶段&#xff0c;可以分为两个部分&#xff1a;…

从规划到落地,数字化工厂如何破局

随着第四次工业革命的推进&#xff0c;数字化工厂解决方案已经成为制造业转型升级的必经之路。然而&#xff0c;在实际推进过程中&#xff0c;许多企业却面临着规划难以落地、投资回报率低、人才短缺等问题。如何破局&#xff0c;实现数字化工厂的顺利转型&#xff0c;成为制造…

卡尔曼滤波

初见Kalman 假设我养了一只猪&#xff1a; 一周前&#xff0c;这只猪的体重是460.5kg。注意&#xff0c;在这里我用了0.5&#xff0c;表示其实我对这只猪一周前的体重并不是那么确定的&#xff0c;也就是说&#xff0c;46kg这个体重有0.5kg的误差。现在&#xff0c;我又养了这只…

计算机竞赛 python+opencv+机器学习车牌识别

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; 基于机器学习的车牌识别系统 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;4分工作量&#xff1a;4分创新点&#xff1a;3分 该项目较为新颖&#xff0c;适…