STL综合案例——学校演讲比赛

简介: STL综合案例——学校演讲比赛

项目介绍



比赛规则:


• 某市举行一场演讲比赛( speech_contest ),共有24个人参加。比赛共三轮,前两轮为淘汰赛,第三轮为决赛。


• 比赛方式:分组比赛,每组6个人;选手每次要随机分组,进行比赛;


第一轮分为4个小组,每组6个人。比如编号为: 100-123. 整体进行抽签(draw)后顺序演讲。当小组演讲完后,淘汰组内排名最后的三个选手,然后继续下一个小组的比赛。


第二轮分为2个小组,每组6人。比赛完毕,淘汰组内排名最后的三个选手,然后继续下一个小组的比赛。


第三轮只剩下1组6个人,本轮为决赛,选出前三名。


• 比赛评分:10个评委打分,去除最低、最高分,求平均分每个选手演讲完由10个评委分别打分。该选手的最终得分是去掉一个最高分和一个最低分,求得剩下的8个成绩的平均分。选手的名次按得分降序排列。


需求分析:


产生选手 ( ABCDEFGHIJKLMNOPQRSTUVWX ) 姓名、得分;选手编号


第1轮 选手抽签 选手比赛 查看比赛结果


第2轮 选手抽签 选手比赛 查看比赛结果


第3轮 选手抽签 选手比赛 查看比赛结果


实现思路:


需要把选手信息、选手得分信息、选手比赛抽签信息、选手的晋级信息保存在容器中,需要涉及到各个容器的选型。


选手可以设计一个类Speaker(姓名和得分)


所有选手的编号可以单独放在一个vector容器中,做抽签用


所有选手编号和选手信息,可以放在容器内:map<int,


所有选手的编号名单,可以放在容器:vecter v1中


第1轮晋级编号名单,可以放在容器vecter v2中


第2轮晋级编号名单,可以放在容器vecter v3中


第3轮前三名名单,可以放在容器vecter v4中


每个小组的比赛得分信息,按照从大到小的顺序放在multimap<成绩, 编号, greater>中


每个选手的得分,可以放在容器deque dscore; 方便去除最低最高分.


项目链接


https://download.csdn.net/download/weixin_45525272/12538663


相关文章
|
6月前
|
安全 容灾 项目管理
 2023年上半年信息系统项目管理师综合知识真题与答案解释(1)
 2023年上半年信息系统项目管理师综合知识真题与答案解释(1)
159 1
|
6月前
|
测试技术 编译器 数据库
【软件设计师备考 专题 】软件开发环境和工具:从分析到维护(一)
【软件设计师备考 专题 】软件开发环境和工具:从分析到维护
118 0
|
6月前
|
监控 测试技术 开发工具
【软件设计师备考 专题 】软件开发环境和工具:从分析到维护(二)
【软件设计师备考 专题 】软件开发环境和工具:从分析到维护
97 0
|
3月前
|
存储 算法 C++
C++ STL应用宝典:高效处理数据的艺术与实战技巧大揭秘!
【8月更文挑战第22天】C++ STL(标准模板库)是一组高效的数据结构与算法集合,极大提升编程效率与代码可读性。它包括容器、迭代器、算法等组件。例如,统计文本中单词频率可用`std::map`和`std::ifstream`实现;对数据排序及找极值则可通过`std::vector`结合`std::sort`、`std::min/max_element`完成;而快速查找字符串则适合使用`std::set`配合其内置的`find`方法。这些示例展示了STL的强大功能,有助于编写简洁高效的代码。
52 2
|
6月前
|
监控 数据挖掘 测试技术
2023年上半年信息系统项目管理师___综合知识真题与答案解释(2)
2023年上半年信息系统项目管理师___综合知识真题与答案解释(2)
89 3
2023年上半年信息系统项目管理师___综合知识真题与答案解释(2)
2020考研公共课_基础精讲课_管理类联考综合能力 联考逻辑(读书笔记)
2020考研公共课_基础精讲课_管理类联考综合能力 联考逻辑(读书笔记)
|
6月前
|
前端开发 关系型数据库 Java
学院综合绩效评价系统的设计与实现(论文+源码)_kaic
学院综合绩效评价系统的设计与实现(论文+源码)_kaic
|
6月前
|
存储
第六章:数组实训
第六章:数组实训
89 0
|
C++ 容器
93 C++ - STL综合案例
93 C++ - STL综合案例
51 0
|
存储 C语言
头歌c语言实训项目-综合案例课外练习:学生成绩管理系统
头歌c语言实训项目-综合案例课外练习:学生成绩管理系统
209 0
下一篇
无影云桌面