当前位置:网站首页>关于容器的小案例
关于容器的小案例
2022-07-30 13:50:00 【老鱼37】

#include<iostream>
using namespace std;
#include<string>
#include<vector>
#include<deque>
#include<algorithm>
//创建一个类
class Person
{
public:
Person(string name, int score)
{
m_name = name;
m_score = score;
}
string m_name;
int m_score;
};
//创建选手
void CreatPerson(vector<Person>& v)
{
string name = "ABCDE";
for (int i = 0; i < 5; i++)
{
string name2 = "选手";
name2 += name[i];
int score = 0;
Person p(name2, score);
//然后将创建的对象放入容器中
v.push_back(p);
}
}
//打分 10名评委打分
void MarkScore(vector<Person>& v)
{
for (vector<Person>::iterator it = v.begin(); it != v.end(); it++)
{
int score = 0;
//创建一个duque容器存放分数
deque<int>d;
for (int i = 0; i < 10; i++)
{
score = rand() % 40 + 60;//控制分数在60-99
d.push_back(score);
}
//169-175为显示代码,可要可不要
//打印deque容器中的分数
for (deque<int>::iterator dit = d.begin(); dit != d.end(); dit++)
{
cout << *dit << " ";
}
cout << endl;
//对deque中的分数进行排序 默认从小到大,如果想修改的话直接重载
sort(d.begin(), d.end());
//然后去掉最大的和最小的
d.pop_back();
d.pop_front();
//取平均数
int sum = 0;
for (deque<int>::iterator dit = d.begin(); dit != d.end(); dit++)
{
sum = sum + *dit;
}
int agv = sum / d.size();//原来10个,去掉头尾还剩八个
//将平均数赋值给vector中的score
it->m_score = agv;//此刻还在循环中 所以是it
}
}
//展示
void ShowPerson(vector<Person>& v)
{
for (vector<Person>::iterator it = v.begin(); it != v.end(); it++)
{
cout << (*it).m_name << " " <<"平均分为:" <<(*it).m_score << endl;
//也可以使用指针的方式 it->m_name it->m_score
}
}
int main()
{
//随机数种子
srand((unsigned int)time(NULL));
//创建一个容器 放入选手
vector<Person> v;
//创建选手
CreatPerson(v);
//打分
MarkScore(v);
//展示选手
ShowPerson(v);
return 0;
}

如有错误,多多指教!
边栏推荐
- 地形分析的主要内容(流浪地球的特效水平)
- 经典测试面试题集—逻辑推理题
- 3 years of software testing experience, the interview requires a monthly salary of 22K, obviously he has memorized a lot of interview questions...
- 【ROS进阶篇】第十一讲 基于Gazebo和Rviz的机器人联合仿真(运动控制与传感器)
- CF1677E Tokitsukaze and Beautiful Subsegments
- 产品年度营销计划书
- 业内人士真心话:只会测试没有前途的,我慌了......
- 近两年激光雷达运动物体分割论文阅读小结
- Hello,World
- eclipse连接SQL server数据库「建议收藏」
猜你喜欢

人社部公布“数据库运行管理员”成新职业,OceanBase参与制定职业标准

重保特辑|筑牢第一道防线,云防火墙攻防演练最佳实践

华为7年经验的软件测试总监,给所有想转行学软件测试的朋友几点建议

经典测试面试题集—逻辑推理题

时序数据库在船舶风险管理领域的应用

Before quitting, make yourself a roll king

No-code development platform application visible permission setting introductory tutorial

戴墨镜的卡通太阳SVG动画js特效

Conversion between pytorch and keras (the code takes LeNet-5 as an example)

00后测试员摸爬滚打近一年,为是否要转行或去学软件测试的学弟们总结出了以下走心建议
随机推荐
NFTScan 与 PANews 联合发布多链 NFT 数据分析报告
获取Google Advertising ID作为唯一识别码
CF780G Andryusha and Nervous Barriers
为什么做软件测试一定要学自动化?谈谈我眼中自动化测试的价值
CF1677E Tokitsukaze and Beautiful Subsegments
[ARC092B] Two Sequences
No-code development platform application visible permission setting introductory tutorial
jsArray array copy method performance test 2207292307
简单理解精确率(Precision),召回率(Recall),准确率(Accuracy),TP,TN,FP,FN
[ARC092B] Two Sequences
What is the level of Ali P7?
pytorch学习记录(六):循环神经网络 RNN & LSTM
[VMware virtual machine installation mysql5.7 tutorial]
开源工具推荐:高性能计算辅助工具MegPeak
00 testers of seasoning after nearly a year, whether to change careers or to learn the software testing students summarized the following heart advice
pytorch与keras的相互转换(代码以LeNet-5为例)
cookie模拟登录「建议收藏」
Interface automation framework, lm-easytest beta version released, use it quickly~
【Advanced Mathematics】【7】Double Integral
MIMO雷达波形设计