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 }