头文件wuyong.h:
#pragma once #include<iostream> #include<vector> #include<deque> #include<algorithm> #include<string> using namespace std; class Player { public: Player(){} Player(string name, int score) :mName(name), mscore(score){} ~Player(){} public: string mName; int mscore; }; void Creat_Player(vector<Player>& v) { string nameSeed ="ABCDE"; for (int i = 0; i < 5; i++) { Player p; p.mName = "选手"; p.mName += nameSeed[i]; p.mscore = 0; v.push_back(p); } } void printscore(int val) { cout << val << " "; } void Set_score(vector<Player>& v) { for (vector<Player>::iterator it = v.begin(); it != v.end(); it++) { //对当前学生进行打分 deque<int> dscore; for (int i = 0; i < 10; i++) { int score = rand() % 41 + 60; dscore.push_back(score); } sort(dscore.begin(), dscore.end()); //for_each(dscore.begin(), dscore.end(),printscore); //cout << endl; //去除最高分和最低分 dscore.pop_front(); dscore.pop_back(); int totlescore = 0; for (deque<int>::iterator dit = dscore.begin(); dit != dscore.end(); dit++) { totlescore += (*dit); int avescore = totlescore / dscore.size(); //保存分数 (*it).mscore = avescore; } } } bool mycompare(Player& p1,Player& p2) { return p1.mscore > p2.mscore; } //分数排名 sort默认从小到大,希望从大到小 void Print_Rank(vector<Player>& v) { sort(v.begin(), v.end(), mycompare); for (vector<Player>::iterator it = v.begin(); it != v.end(); it++) { cout << "姓名:" << (*it).mName << " 得分: " << (*it).mscore << endl; } }
源文件wuyong.cpp:
#include"wuyong.h" int main() { vector<Player> vPlist; Creat_Player(vPlist); Set_score(vPlist); Print_Rank(vPlist); system("pause"); return 0; }
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。