5.27 LAB*: Program: Soccer team roster (Vectors)
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). (3
pts)
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. The program
initially outputs the menu, and outputs the menu 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. (2
pts)
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. (1 pt)
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. (1 pt)
Ex:
Enter a new player's jersey number: 49 Enter the 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). (2 pts)
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. (1 pt)
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. (2 pts)
Ex:
Enter a rating: 5 ABOVE 5 Player 1 -- Jersey number: 84, Rating: 7 ...
______________________________-
in C++ please
Please take a look at the code after implementing all steps (1) to (7).
I have added inline comments for better understanding.
#include <bits/stdc++.h>
using namespace std;
void printRoster(vector<int> player, vector<int> rating){ //this funtion prints the roster
cout<<"ROSTER"<<endl;
for(int i=0;i<player.size();i++){
printf("Player %d -- Jersey number: %d, Rating: %d\n",(i+1), player[i], rating[i]);
}
}
void addPlayer(vector<int> &player, vector<int> &rating){ //this will add a new player and their rating
int x, y;
//get new player information
printf("Enter player %d's jersey number:\n", player.size()+1);
cin>>x;
printf("Enter player %d's rating:\n", player.size()+1);
cin>>y;
//add new player information
player.push_back(x);
rating.push_back(y);
}
void removePlayer(vector<int> &player, vector<int> &rating){ //this will remove a player
int jersey;
//get jersey of player to delete
printf("Enter a jersey number:\n");
cin>>jersey;
//search for the player to delete
for(int i=0;i<player.size();i++){
if(player[i]==jersey){
//player found, delete both player jersey and rating
player.erase(player.begin()+i);
rating.erase(rating.begin()+i);
break;
}
}
}
void updatePlayerRating(vector<int> &player, vector<int> &rating){ //this will update the rating for a given player
int jersey, newRating;
//get player for which we have to update the rating
printf("Enter a jersey number:\n");
cin>>jersey;
//get the new rating to be updated
printf("Enter a new rating for player:\n");
cin>>newRating;
//search for the player to update rating
for(int i=0;i<player.size();i++){
if(player[i]==jersey){
rating[i]=newRating;
break;
}
}
}
void output_above_ratings(vector<int> &player, vector<int> &rating){
int abr;
printf("Enter a rating:\n");
cin>>abr;
cout<<"ABOVE "<<abr<<endl;
for(int i=0;i<player.size();i++){
if(rating[i]>abr)
printf("Player %d -- Jersey number: %d, Rating: %d\n",(i+1), player[i], rating[i]);
}
}
void printMenu(){
printf("MENU\na - Add player\nd - Remove player\nu - Update player rating\nr - Output players above a rating\no - Output roster\nq - Quit\n\nChoose an option:\n");
}
int main(int argc, char const *argv[])
{
//Declare vetors to store player information
vector<int> player;
vector<int> rating;
printMenu();
char command;
cin>>command;
//We keep iterating until quit command is sent by the user
while(command!='q'){
switch(command){
case 'a': addPlayer(player, rating);
break;
case 'd': removePlayer(player, rating);
break;
case 'u': updatePlayerRating(player, rating);
break;
case 'r': output_above_ratings(player, rating);
break;
case 'o': printRoster(player, rating);
break;
}
printMenu();
cin>>command;
}
}
Sample Input/Output below.
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:
a
Enter player 1's jersey number:
10
Enter player 1's rating:
20
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:
a
Enter player 2's jersey number:
20
Enter player 2's rating:
30
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:
a
Enter player 3's jersey number:
30
Enter player 3's rating:
40
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:
d
Enter a jersey number:
20
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:
o
ROSTER
Player 1 -- Jersey number: 10, Rating: 20
Player 2 -- Jersey number: 30, Rating: 40
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:
r
Enter a rating:
35
ABOVE 35
Player 2 -- Jersey number: 30, Rating: 40
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:
o
ROSTER
Player 1 -- Jersey number: 10, Rating: 20
Player 2 -- Jersey number: 30, Rating: 40
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:
q
Get Answers For Free
Most questions answered within 1 hours.