C++编程基础一 35-总练习
1 // C++编程基础 总练习.cpp: 定义控制台应用程序的入口点。 2 // 3 4 #include "stdafx.h" 5 #include <iostream> 6 #include <string> 7 #include <math.h> 8 #include <climits> 9 #include <array> 10 using namespace std; 11 12 struct MyGame 13 { 14 string gameName; 15 float grade; 16 }; 17 18 void Test1(); 19 int main() 20 { 21 Test1(); 22 23 return 0; 24 } 25 //==========================练习============================== 26 //1.完成程序:喜爱游戏排行 27 //要求: 28 //1.提示用户输入5个喜爱的游戏的游戏数据。包括游戏名、游戏评分(0-10之间的小数)。 29 //2.根据游戏评分高低对用户输入的数据进行排序,如果评分相等。则按录入顺序进行排列。 30 //3.将用户输入的数据按分数从高到底进行输出。输出格式为:游戏排名:游戏名(游戏评分)。 31 void Test1() 32 { 33 const int size = 5; 34 MyGame myGame = {}; 35 array<MyGame, size> game = {}; 36 for (int i = 0; i < size;i++) 37 { 38 cout << "请输入第"<<i+1<<"个喜欢的游戏名称:" << endl; 39 cin >> game[i].gameName; 40 cout << "请输入第"<<i+1<<"个喜欢的游戏评分:" << endl; 41 cin >> game[i].grade; 42 } 43 44 //cout << game[0].gameName << " " << game[0].grade << endl; 45 //cout << game[1].gameName << " " << game[1].grade << endl; 46 //cout << game[2].gameName << " " << game[2].grade << endl; 47 //cout << game[3].gameName << " " << game[3].grade << endl; 48 //cout << game[4].gameName << " " << game[4].grade << endl; 49 bool isArrange = true; 50 51 while (isArrange) 52 { 53 for (int i = 0; i < (end(game) - begin(game)) - 1; i++) 54 { 55 if ((game[i].grade) < (game[i + 1]).grade) 56 { 57 MyGame temp; 58 temp = game[i]; 59 game[i] = game[i + 1]; 60 game[i + 1] = temp; 61 } 62 } 63 for (int i = 0; i < (end(game) - begin(game)) - 1; i++) 64 { 65 if (game[i].grade < game[i + 1].grade) 66 { 67 isArrange = true; 68 break; 69 } 70 else 71 { 72 isArrange = false; 73 } 74 } 75 } 76 cout << "您喜爱的游戏排行为(从高到底)" << endl; 77 for (int i = 0; i < (end(game) - begin(game)); i++) 78 { 79 cout << "游戏名:" << game[i].gameName << " 游戏评分:" << game[i].grade << endl;; 80 } 81 82 }