STL案例-评委打分
作者:
gzcoder
,
2021-10-06 15:31:01
,
所有人可见
,
阅读 267
#include<iostream>
#include<deque>
#include<vector>
#include<string>
#include<algorithm>
#include<ctime>
using namespace std;
class Person
{
public:
Person(string name,int score)
{
this->m_Name = name;
this->m_Score = score;
}
string m_Name; //姓名
int m_Score;// 平均分
};
void createPerson(vector<Person>&v)
{
string nameSeed = "ABCDE";
for(int i=0;i<5;i++)
{
string name = "选手";
name += nameSeed[i];
int score = 0;
Person p(name,score);
//将创建的Person对象 放入到容器中
v.push_back(p);
}
}
void setScore(vector<Person>&v)
{
for(int i=0;i<v.size();i++)
{
//将评委的分数 放入到一个deque容器中
deque<int> d;
for(int i=0;i<10;i++)
{
int score=rand()%41+60;
d.push_back(score);
}
//排序
sort(d.begin(),d.end());
//去除最高和最低分
d.pop_back();
d.pop_front();
//取平均分
int sum = 0;
for(int i=0;i<d.size();i++)
sum+=d[i];
int avg=sum/d.size();
v[i].m_Score=avg;
}
}
int main()
{
//随机数种子
srand((unsigned int)time(NULL));
//1.创建5名选手
vector<Person> v;//存放选手的容器
createPerson(v);
//测试
/*
for(int i=0;i<v.size();i++)
cout<<"姓名: "<<v[i].m_Name<<" 分数: "<<v[i].m_Score<<endl;
*/
//2.给5名选手打分
setScore(v);
//3.显示最后得分
for(int i=0;i<v.size();i++)
cout<<"姓名: "<<v[i].m_Name<<" 分数: "<<v[i].m_Score<<endl;
return 0;
}#include<iostream>
#include<deque>
#include<vector>
#include<string>
#include<algorithm>
#include<ctime>
using namespace std;
class Person
{
public:
Person(string name,int score)
{
this->m_Name = name;
this->m_Score = score;
}
string m_Name; //姓名
int m_Score;// 平均分
};
void createPerson(vector<Person>&v)
{
string nameSeed = "ABCDE";
for(int i=0;i<5;i++)
{
string name = "选手";
name += nameSeed[i];
int score = 0;
Person p(name,score);
//将创建的Person对象 放入到容器中
v.push_back(p);
}
}
void setScore(vector<Person>&v)
{
for(int i=0;i<v.size();i++)
{
//将评委的分数 放入到一个deque容器中
deque<int> d;
for(int i=0;i<10;i++)
{
int score=rand()%41+60;
d.push_back(score);
}
//排序
sort(d.begin(),d.end());
//去除最高和最低分
d.pop_back();
d.pop_front();
//取平均分
int sum = 0;
for(int i=0;i<d.size();i++)
sum+=d[i];
int avg=sum/d.size();
v[i].m_Score=avg;
}
}
int main()
{
//随机数种子
srand((unsigned int)time(NULL));
//1.创建5名选手
vector<Person> v;//存放选手的容器
createPerson(v);
//测试
/*
for(int i=0;i<v.size();i++)
cout<<"姓名: "<<v[i].m_Name<<" 分数: "<<v[i].m_Score<<endl;
*/
//2.给5名选手打分
setScore(v);
//3.显示最后得分
for(int i=0;i<v.size();i++)
cout<<"姓名: "<<v[i].m_Name<<" 分数: "<<v[i].m_Score<<endl;
return 0;
}