In: Computer Science
C++
this program will store roster and rating information for a soccer team. Coaches rate players during tryouts to ensure a balanced team.
(1) Prompt the user to input five pairs of numbers: A player's
jersey number (0 - 99) and the player's rating (1 - 9). Store the
jersey numbers in one int vector and the ratings in another int
vector. Output these vectors (i.e., output the roster).
Ex:
Enter player 1's jersey number: 84 Enter player 1's rating: 7 Enter player 2's jersey number: 23 Enter player 2's rating: 4 Enter player 3's jersey number: 4 Enter player 3's rating: 5 Enter player 4's jersey number: 30 Enter player 4's rating: 2 Enter player 5's jersey number: 66 Enter player 5's rating: 9 ROSTER Player 1 -- Jersey number: 84, Rating: 7 Player 2 -- Jersey number: 23, Rating: 4 ...
(2) Implement a menu of options for a user to modify the roster.
Each option is represented by a single character. Following the
initial 5 players' input and roster output, the program outputs the
menu. The program should also output the menu again after a user
chooses an option. The program ends when the user chooses the
option to Quit. For this step, the other options do nothing.
Ex:
MENU
a - Add player
d - Remove player
u - Update player rating
r - Output players above a rating
o - Output roster
q - Quit Choose an option:
(3) Implement the "Output roster" menu option. Be sure to write
a separate function for each menu option.
Ex:ROSTER Player 1 -- Jersey number: 84, Rating: 7 Player 2 --
Jersey number: 23, Rating: 4 ...
(4) Implement the "Add player" menu option. Prompt the user for
a new player's jersey number and rating. Append the values to the
two vectors.
Ex: Enter another player's jersey number: 49 Enter another player's
rating: 8
(5) Implement the "Delete player" menu option. Prompt the user
for a player's jersey number. Remove the player from the roster
(delete the jersey number and rating). Be sure to keep the same
relative order of all values in the vectors.
Ex:
Enter a jersey number: 4
(6) Implement the "Update player rating" menu option. Prompt the
user for a player's jersey number. Prompt again for a new rating
for the player, and then change that player's rating.
Ex:
Enter a jersey number: 23 Enter a new rating for player: 6
(7) Implement the "Output players above a rating" menu option.
Prompt the user for a rating. Print the jersey number and rating
for all players with ratings above the entered value.
Ex: Enter a rating: 5 ABOVE 5 Player 1 -- Jersey number: 84,
Rating: 7 ...
#include <iostream>
// FIXME include vector library
using namespace std;
// parameter order will always be jersey #s then ratings
void outputRoster(const vector<int> &, const
vector<int> &);
void addPlayer(vector<int> &, vector<int>
&);
void removePlayer(vector<int> &, vector<int>
&);
void updatePlayerRating(const vector<int> &,
vector<int> &);
void outputPlayersAboveRating(const vector<int> &, const
vector<int> &);
int main() {
/* Type your code here. */
return 0;
}
#include <iostream>
#include <vector>
using namespace std;
// parameter order will always be jersey #s then ratings
void outputRoster(const vector<int> &, const vector<int> &);
void addPlayer(vector<int> &, vector<int> &);
void removePlayer(vector<int> &, vector<int> &);
void updatePlayerRating(const vector<int> &, vector<int> &);
void outputPlayersAboveRating(const vector<int> &, const vector<int> &);
void outputRoster(const vector<int> &jerseyNumber, const vector<int> &playerRating)
{
cout << "ROSTER\n";
for (int i = 0; i < jerseyNumber.size(); ++i)
{
cout << "Player " << i + 1 << " -- Jersey number: " << jerseyNumber[i] << ", Rating: " << playerRating[i] << "\n";
}
}
void addPlayer(vector<int> &jerseyNumber, vector<int> &playerRating)
{
int input;
cout << "Enter another player's jersey number:";
cin >> input;
jerseyNumber.push_back(input);
cout << "Enter another player's rating:";
cin >> input;
playerRating.push_back(input);
}
void removePlayer(vector<int> &jerseyNumber, vector<int> &playerRating)
{
int input, j = 0;
cout << "Enter a jersey number:";
cin >> input;
for (int i = 0; i < jerseyNumber.size(); ++i)
{
if (jerseyNumber[i] != input)
{
jerseyNumber[j] = jerseyNumber[i];
playerRating[j] = playerRating[i];
j++;
}
}
jerseyNumber.resize(jerseyNumber.size() - 1);
playerRating.resize(playerRating.size() - 1);
}
void updatePlayerRating(const vector<int> &jerseyNumber, vector<int> &playerRating)
{
int inputRating, inputJersey;
cout << "Enter a jersey number:";
cin >> inputJersey;
cout << "Enter a new rating for player:";
cin >> inputRating;
for (int i = 0; i < jerseyNumber.size(); ++i)
{
if (jerseyNumber[i] == inputJersey)
{
playerRating[i] = inputRating;
break;
}
}
}
void outputPlayersAboveRating(const vector<int> &jerseyNumber, const vector<int> &playerRating)
{
int input;
cout << "Enter a rating:";
cin >> input;
cout << "ABOVE " << input << "\n";
int j = 1;
for (int i = 0; i < jerseyNumber.size(); ++i)
{
if (input < playerRating[i])
{
cout << "Player " << j << " -- Jersey number: " << jerseyNumber[i] << ", Rating: " << playerRating[i] << "\n";
j++;
}
}
}
int main()
{
vector<int> jerseyNumber;
vector<int> playerRating;
int input;
for (int i = 0; i < 5; ++i)
{
cout << "Enter player" << i + 1 << "'s jersey number:\n";
cin >> input;
jerseyNumber.push_back(input);
cout << "Enter player" << i + 1 << "'s rating:\n";
cin >> input;
playerRating.push_back(input);
}
outputRoster(jerseyNumber, playerRating);
char choice;
while (1)
{
cout << "MENU\n";
cout << "a - Add player\n";
cout << "d - Remove player\n";
cout << "u - Update player rating\n";
cout << "r - Output players above a rating\n";
cout << "o - Output roster\n";
cout << "q - Quit\nChoose an option:";
cin >> choice;
switch (choice)
{
case 'a':
addPlayer(jerseyNumber, playerRating);
break;
case 'd':
removePlayer(jerseyNumber, playerRating);
break;
case 'u':
updatePlayerRating(jerseyNumber, playerRating);
break;
case 'r':
outputPlayersAboveRating(jerseyNumber, playerRating);
break;
case 'o':
outputRoster(jerseyNumber, playerRating);
break;
case 'q':
exit(0);
default:
cout << "Wrong Choice\n";
}
}
return 0;
}