C++编程案例讲解-评委打分案例

评委打分案例

  • 案例说明

案例说明

有5名选手,10个评委分别对每一名选手打分,去除最高分,去除最低分,取平均分
要求以下步骤:

  1. 创建5名选手,放到vector中
  2. 遍历vector容器,取出来每一位选手,指定for循环,可以把10个评委打分存到deque中
  3. sort算法对deque容器中分数排序,去除最高分和最低分
  4. deque容器中遍历一遍,累加总分
  5. 获取平均分
#include <iostream>
#include <deque>
#include <vector>
#include <ctime>
#include <algorithm>
using namespace std;

class Player
{
private:
    string name;
    float score;
public:
    Player(string name)
    {
        this->name = name;
        this->score = 0;
    }
    void printf()
    {
        std::cout << "姓名:" << this->name << "\t最终得分: " << this->score << std::endl;
    }
    void setScore(float score)
    {
        this->score = score;
    }
    string getName()
    {
        return this->name;
    }
};

void simulated_scoring(Player& player)
{
    deque<float> score;
    for (int i = 0; i < 10; i++)
    {
        float so = rand() % 60 + 40;
        std::cout << "第" << i << "位评委给 " << player.getName() << " 打出的分数为:" << so << "分" << std::endl;
        score.push_back(so);
    }
    //排序
    sort(score.begin(), score.end());
    //去掉一个最高分
    score.pop_back();
    //去掉一个最低分
    score.pop_front();

    float sum = 0;
    //求和取平均
    for (deque<float>::iterator it = score.begin(); it != score.end(); it++)
    {
        sum += *it;
    }
    player.setScore(sum / score.size());
}

int main()
{
    srand((unsigned int)time(NULL));
    string name[] = { "张三","李四","王五","赵二","武义" };
    vector<Player> player;
    //初始化5位运动员
    for (int i = 0; i < sizeof(name) / sizeof(name[0]); i++)
    {
        Player pl(name[i]);
        player.push_back(pl);
    }
    
    for (vector<Player>::iterator it = player.begin(); it != player.end(); it++)
    {
        simulated_scoring(*it);
    }
    
    for (vector<Player>::iterator it = player.begin(); it != player.end(); it++)
    {
        (*it).printf();
    }
}

运行结果

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

SMART PLC 和S7-1200PLC MODBUSTCP通信速度测试

SMART PLC MODBUSTCP通信详细介绍请参看下面文章链接: S7-200SMART PLC ModbusTCP通信(多服务器多从站轮询)_matlab sumilink 多个modbustcp读写_RXXW_Dor的博客-CSDN博客文章浏览阅读6.4k次,点赞5次,收藏10次。MBUS_CLIENT作为MODBUS TCP客户端通过S7-200 SMART CPU上的…

SharePoint-连接Excel

Power Automate和Power Apps想要连接Excel表格的话&#xff0c;可以在OneDrive或SharePoint网站的文档中创建Excel文件&#xff0c;然后把Excel转换成table表格 以SharePoint为例&#xff0c;在文档中点击新建&#xff0c;选择Excel工作簿 填写内容&#xff0c;然后全选选中 在…

SPSS因子分析

前言&#xff1a; 本专栏参考教材为《SPSS22.0从入门到精通》&#xff0c;由于软件版本原因&#xff0c;部分内容有所改变&#xff0c;为适应软件版本的变化&#xff0c;特此创作此专栏便于大家学习。本专栏使用软件为&#xff1a;SPSS25.0 本专栏所有的数据文件请点击此链接下…

hive里因为列名用了关键字导致建表失败

代码 现象 ParseException line 6:4 cannot recognize input near percent String COMMENT in column name or primary key or foreign key 23/11/13 11:52:57 ERROR org.apache.hadoop.hive.ql.Driver: FAILED: ParseException line 6:4 cannot recognize input near percent …

消防安全检查卡如何制作成二维码标签

消防安全检查卡介绍 消防安全检查卡是用来评估建筑物和场所的消防安全情况的工具。本检查卡旨在帮助用户检查建筑设施和操作程序&#xff0c;以确保其符合消防安全标准&#xff0c;预防火灾事故的发生。 日常的消防器材巡检卡 主要用于规范和记录消防器材的日常检查工作&#x…

「得力集团」启动采购供应链协同项目,携手企企通打造文创科技产业行业标杆

近期&#xff0c;国内最大的办公与学习用品产业集团、多工作场景整体解决方案的领导者「得力集团有限公司」与企企通成功签约&#xff0c;并顺利召开采购供应链协同项目启动会。 本次会议中&#xff0c;双方高层领导与项目团队成员就项目的功能需求、实施方案、资源支持等问题进…

测量均值频率、功率、带宽

测量均值频率、功率、带宽 生成以 1024 kHz 采样的啁啾信号的 1024 个采样点。啁啾信号的初始频率为 50 kHz&#xff0c;采样结束时达到 100 kHz。添加高斯白噪声&#xff0c;使信噪比为 40 dB。 nSamp 1024; Fs 1024e3; SNR 40;t (0:nSamp-1)/Fs;x chirp(t,50e3,nSamp/…

无代码业务自动化工具Activepieces

什么是 Activepieces &#xff1f; Activepieces 是一款工作流程自动化软件&#xff0c;可以帮助您自动化所有重要流程&#xff0c;例如市场、销售、营销等。您可以集成其他有用的应用程序并更有效地管理您的业务。无需编码&#xff0c;是 Zapier 的绝佳替代品。 Activepieces …

希亦和海信内衣洗衣机哪个值得买?性价比内衣洗衣机推荐

因为内衣的更换频率很高&#xff0c;需要每天洗一次&#xff0c;所以这对一些人群来说可能会有些麻烦。但是&#xff0c;用手清洗内衣裤还是有很多问题的&#xff0c;比如有些污渍是手洗不掉的。因此内衣洗衣机就显得非常重要&#xff0c;接下来&#xff0c;我来为大家带来两款…

XML Web 服务 Eclipse实现中的sun-jaxws.xml文件

说明 在sun-jaxws.xml文件&#xff0c;可以配置endpoint、handler-chain等内容。在这个文件中配置的内容会覆盖在Java代码中使用注解属性配置的的内容。 这个文件根据自己的项目内容修改完成以后&#xff0c;作为web应用的一部分部署到web容器中&#xff08;放到web应用的WEB…

半导体应用系统一些小知识收集(stripwafer mapping,EAPscada)

1、Strip Mapping 针对于半导体后道基板上的每个芯片的良率实时追溯。从Die Bond贴芯片到Wire Bond,Marking为止的过程中实时处理及管理设备上传的基板Defect Mapping 信息&#xff0c;提高生产效率及品质&#xff1b; 提高生产效率:自动判别芯片不良信息,提高生产效率 提高品…

【毕业论文】基于微信小程序的植物分类实践教学系统的设计与实现

基于微信小程序的植物分类实践教学系统的设计与实现https://download.csdn.net/download/No_Name_Cao_Ni_Mei/88519758 基于微信小程序的植物分类实践教学系统的设计与实现 Design and Implementation of Plant Classification Practical Teaching System based on WeChat Mini…

安装 Lua 的 HTTP 库

首先&#xff0c;你需要安装 Lua 的 HTTP 库。可以使用 LuaRocks 来安装。以下是安装命令&#xff1a; luarocks install http然后&#xff0c;你可以使用以下代码来爬取网页内容&#xff1a; local http require http-- 设置代理信息 http.set_proxy(jshk.com.cn)-- 网页UR…

Linux编辑器:vim的简单介绍及使用

目录 1.什么是vim 2.vim的基本概念 3.vim 的基本操作 4. 各模式下的命令集 4.1 正常模式命令集 4.2 末行模式命令集 5.补充 5.1 vim支持多文件编辑 5.2 vim 的配置 1.vim 配置原理 2. 常用简单配置选项&#xff1a; 3. 使用插件 1.什么是vim Vim 是从 vi 发展出…

Labview实现wav音乐播放

准备音频文件&#xff1a;将要播放的声音文件准备好&#xff0c;是.wav格式。 图形化如下&#xff1a; 内部逻辑如下&#xff1a;

医学影像PACS系统:一种用于存储、管理和传输医学影像数据的系统

医疗软件中的影像归档与传输系统软件&#xff08;Picture Archiving and Communication System&#xff0c;简称PACS&#xff09;是一种用于存储、管理和传输医学影像数据的系统。 PACS是应用在医院影像科室的系统&#xff0c;主要的任务就是把日常产生的各种医学影像&#xff…

Java 设计模式——组合模式

目录 1.概述2.结构3.实现3.1.抽象构件3.2.容器构件3.3.叶子节点3.4.测试 4.分类5.使用场景6.优点 1.概述 &#xff08;1&#xff09;大家对于上面这个图片肯定非常熟悉&#xff0c;上图我们可以看做是一个文件系统&#xff0c;对于这样的结构我们称之为树形结构。在树形结构中可…

全院级不良事件管理系统源码,事件上报、流转审批、数据统计、原因分析、措施制定

不良事件报告管理系统源码 事件上报、流转审批、数据统计、原因分析、措施制定 医院不良事件管理系统&#xff0c;支持医疗管理、护理管理、药品管理、医技管理、器械管理、输血管理、院感管理、职业防护管理、信息管理、后勤管理、治安管理等事件&#xff0c;内容齐全&#xf…

Java: 实现电影信息管理系统 (javaBean)

文章目录 电影信息系统1. 将JavaBean数据类封装好2.业务逻辑类3.测试类&#xff08;main函数类&#xff09; 电影信息系统 需求&#xff1a; 展示系统中的全部电影&#xff08;每部电影展示、名称、平分&#xff09;。允许用户根据电影编号&#xff08;id&#xff09;查询出某…

霸榜“双11”,高端文创新品发布即售罄,剑南春大促节点再传佳绩

执笔 | 洪大大 编辑 | 萧 萧 作为一年一度的重要促销大节&#xff0c;“双11”线上购物已成为各大品牌奋战的重要战场。而在今年&#xff0c;剑南春也是再一次拔得头筹。 在刚刚出炉的“双11”战报中&#xff0c;天猫剑南春官方旗舰店以超高人气和销售量获得白酒行业交易指…