In: Computer Science
C++ 18.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 ...
C++ code:
#include <iostream>
#include <vector>
using namespace std;
int main() {
// Vectors
vector<int> jerseys;
vector<int> ratings;
int jerseyNumber, rating;
char option;
// Input 5 pairs of jersey numbers and ratings
for (int i = 0; i < 5; i++) {
cout << "Enter player " << i + 1 << "'s jersey number:\n";
cin >> jerseyNumber;
// Validate user input
while (jerseyNumber < 0 || jerseyNumber > 99) {
cout << "Enter player " << i + 1 << "'s jersey number (0 - 99):\n";
cin >> jerseyNumber;
}
// Add jersey number to the vector
jerseys.push_back(jerseyNumber);
cout << "Enter player " << i + 1 << "'s rating:" << endl;
cin >> rating;
// Validate user input
while (rating < 1 || rating > 9) {
cout << "Enter player " << i + 1 << "'s rating (1 - 9):\n";
cin >> rating;
}
// Add rating to the vector
ratings.push_back(rating);
cout << "\n";
}
// Output the roster
cout << "ROSTER\n";
for (int i = 0; i < jerseys.size(); i++) {
cout << "Player " << i + 1 << " -- Jersey Number: " << jerseys[i] << ", Rating: " << ratings[i] << "\n";
}
cout << "\n";
do {
// Menu of options
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\n\n";
cout << "Choose an option:\n";
cin >> option;
cout << "\n";
switch (option) {
// "Output roster" menu option
case 'o':
cout << "ROSTER\n";
for (int i = 0; i < jerseys.size(); i++) {
cout << "Player " << i + 1 << " -- Jersey Number: " << jerseys[i] << ", Rating: " << ratings[i] << "\n";
}
break;
// "Add player" menu option
case 'a':
cout << "Enter a new player's jersey number:\n";
cin >> jerseyNumber;
// Validate user input
while (jerseyNumber < 0 || jerseyNumber > 99) {
cout << "Enter a new player's jersey number (0 - 99):\n";
cin >> jerseyNumber;
}
// Add jersey number to the vector
jerseys.push_back(jerseyNumber);
cout << "Enter the player's rating:" << endl;
cin >> rating;
// Validate user input
while (rating < 1 || rating > 9) {
cout << "Enter the player's rating (1 - 9):\n";
cin >> rating;
}
// Add rating to the vector
ratings.push_back(rating);
break;
// "Delete player" menu option
case 'd':
cout << "Enter a jersey number:\n";
cin >> jerseyNumber;
for (int i = 0; i < jerseys.size(); i++) {
if (jerseys[i] == jerseyNumber) {
jerseys.erase(jerseys.begin() + i);
ratings.erase(ratings.begin() + i);
break;
}
}
break;
// "Update player rating" menu option
case 'u':
cout << "Enter a jersey number:\n";
cin >> jerseyNumber;
cout << "Enter a new rating for player:\n";
cin >> rating;
// Validate user input
while (rating < 1 || rating > 9) {
cout << "Enter a new rating for player (1 - 9):\n";
cin >> rating;
}
for (int i = 0; i < jerseys.size(); i++) {
if (jerseys[i] == jerseyNumber) {
ratings[i] = rating;
}
}
break;
// "Output players above a rating" menu option
case 'r':
cout << "Enter a rating:\n";
cin >> rating;
cout << "ABOVE " << rating << "\n";
for (int i = 0, count = 0; i < ratings.size(); i++) {
if (ratings[i] > rating) {
count++;
cout << "Player " << count << " -- Jersey Number: " << jerseys[i] << ", Rating: " << ratings[i] << "\n";
}
}
break;
case 'q':
break;
default:
cout << "Invalid option. Try again.\n";
}
cout << "\n";
} while (option != 'q');
return 0;
}
Sample output:
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 Player 3 -- Jersey Number: 4, Rating: 5 Player 4 -- Jersey Number: 30, Rating: 2 Player 5 -- Jersey Number: 66, Rating: 9 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: 84, Rating: 7 Player 2 -- Jersey Number: 23, Rating: 4 Player 3 -- Jersey Number: 4, Rating: 5 Player 4 -- Jersey Number: 30, Rating: 2 Player 5 -- Jersey Number: 66, Rating: 9 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 a new player's jersey number: 49 Enter the player's rating: 8 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: 84, Rating: 7 Player 2 -- Jersey Number: 23, Rating: 4 Player 3 -- Jersey Number: 4, Rating: 5 Player 4 -- Jersey Number: 30, Rating: 2 Player 5 -- Jersey Number: 66, Rating: 9 Player 6 -- Jersey Number: 49, Rating: 8 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: 4 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: 84, Rating: 7 Player 2 -- Jersey Number: 23, Rating: 4 Player 3 -- Jersey Number: 30, Rating: 2 Player 4 -- Jersey Number: 66, Rating: 9 Player 5 -- Jersey Number: 49, Rating: 8 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: u Enter a jersey number: 23 Enter a new rating for player: 6 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: 84, Rating: 7 Player 2 -- Jersey Number: 23, Rating: 6 Player 3 -- Jersey Number: 30, Rating: 2 Player 4 -- Jersey Number: 66, Rating: 9 Player 5 -- Jersey Number: 49, Rating: 8 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: 5 ABOVE 5 Player 1 -- Jersey Number: 84, Rating: 7 Player 2 -- Jersey Number: 23, Rating: 6 Player 3 -- Jersey Number: 66, Rating: 9 Player 4 -- Jersey Number: 49, Rating: 8 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
Kindly rate the answer and for any help just drop a comment