PLEASE POST IN C++ : Thank you!!
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 ...
Screenshot of program code:-
Screenshot of output:-
Program code to copy:-
#include <iostream>
#include <vector>
using namespace std;
//Functions prototype
void outputRoster(vector <int> jerseyNum, vector <int>
rating);
void addPlayer(vector <int> &jerseyNum, vector
<int> &rating);
void deletePlayer(vector <int> &jerseyNum, vector
<int> &rating);
void updatePlayer(vector <int> &jerseyNum, vector
<int> &rating);
void outputPlayersAboveRating(vector <int> jerseyNum, vector
<int> rating);
char displayMenu();
int main()
{
// Decalre vectors
vector <int> jerseyNum;
vector <int> rating;
int jersey, rate;
// prompt the user to input five pairs of
numbers
for(int i=0; i<5; i++)
{
// Prompt & read player's
jersey number from user
cout << "Enter player
"<< (i+1) << "'s jersey number: " << endl;
cin >> jersey;
// Prompt & read player's the
player's rating from user
cout << "Enter player "
<< (i+1)<<"'s rating: " << endl;
cin >> rate;
//Add jersey number into
vector
jerseyNum.push_back(jersey);
//Add rating into vector
rating.push_back(rate);
cout << endl;
}
//Calling function to output vectors
outputRoster(jerseyNum, rating);
char option;
do
{
//Calling function to display menu
& get the option selected from user
option = displayMenu();
switch(option)
{
case 'a':
//Calling function to add new player into
vector
addPlayer(jerseyNum, rating);
break;
case 'd':
if(jerseyNum.size()==0)
cout<<"Can not delete from empty
roster."<<endl;
//calling
function to delete player from vector
deletePlayer(jerseyNum, rating);
break;
case 'u':
//Calling function to update player rating
updatePlayer(jerseyNum, rating);
break;
case 'r':
//Calling function to display player information above
given rating
outputPlayersAboveRating(jerseyNum, rating);
break;
case 'o':
//Calling function to output vectors
outputRoster(jerseyNum, rating);
}
}while(option!='q');
}
// Function to display menu & returns option selected by
user from menu
char displayMenu()
{
char option;
//Display menu
cout << "\nMENU" << endl;
cout << "a - Add player" << endl;
cout << "d - Remove player" << endl;
cout << "u - Update player rating" <<
endl;
cout << "r - Output players above a rating"
<< endl;
cout << "o - Output roster" << endl;
cout << "q - Quit" << endl;
//Prompt & read option selected by user from
menu
cout << "Choose an option: ";
cin >> option;
//Return menu option selected by user
return option;
}
// Function accepts two int vector as parameter and
// display the players information
void outputRoster(vector <int> jerseyNum, vector <int>
rating)
{
//get the number of elements in vector
int n = jerseyNum.size();
cout << "ROSTER" << endl;
for(int i=0; i<n; i++)
{
cout << "Player " <<
(i+1)
<< " -- Jersey number:"
<< jerseyNum[i]
<<",
Rating: " << rating[i]
<<
endl;
}
}
// Function accepts two int vector reference as parameter
and
// add new player information into vector
void addPlayer(vector <int> &jerseyNum, vector
<int> &rating)
{
int jersey, rate;
// Prompt & read player's jersey number from
user
cout << "Enter a new player's jersey number: "
<< endl;
cin >> jersey;
// Prompt & read player's the player's rating from
user
cout << "Enter the player's rating: " <<
endl;
cin >> rate;
//Add data entered by user into vector
jerseyNum.push_back(jersey);
rating.push_back(rate);
}
// Function accepts two int vector reference as parameter
and
// delete player information from vector
void deletePlayer(vector <int> &jerseyNum, vector
<int> &rating)
{
int n = jerseyNum.size();
int num, index;
// Prompt & read player's jersey number from user
to be deleted
cout << "Enter a jersey number:" <<
endl;
cin >> num;
for(int i=0; i<n; i++)
{
if(jerseyNum[i]==num)
{
index = i;
break;
}
}
if(index==n)
cout<<"Error! Player "
<< num << " not found" << endl;
else
{
//delete the player information
from vector
jerseyNum.erase(jerseyNum.begin()+index);
rating.erase(rating.begin()+index);
}
}
// Function accepts two int vector reference as parameter
and
// update given player information
void updatePlayer(vector <int> &jerseyNum, vector
<int> &rating)
{ int n = jerseyNum.size();
int num,rate,index;
cout << "Enter a jersey number:" <<
endl;
cin >> num;
cout << "Enter a new rating for player:";
cin >> rate;
for(int i=0; i<n; i++)
{
if(jerseyNum[i]==num)
{
index = i;
break;
}
}
if(index==n)
cout<<"Error! Player "
<< num << " not found" << endl;
else
{
rating[index] = rate;
}
}
// Function accepts two int vector as parameter and
// Print the jersey number and rating for all players with ratings
above the entered value.
void outputPlayersAboveRating(vector <int> jerseyNum, vector
<int> rating)
{ int n = jerseyNum.size();
int rate;
cout << "Enter a rating: " << endl;
cin >> rate;
cout << "ABOVE" << rate <<
endl;
for(int i=0; i<n; i++)
{
if(rating[i] > rate)
{
cout <<
"Player " << (i+1)
<< " -- Jersey number:"
<< jerseyNum[i]
<<",
Rating: " << rating[i]
<<
endl;
}
}
}
Get Answers For Free
Most questions answered within 1 hours.