In: Computer Science
How would I complete this program using three files, which are a "SoccerPlayer.h" file, a "SoccerPlayer.cpp" file, and a "main.cpp" file. C++ Please!
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 ...
SoccerPlayer.cpp
#include<iostream>
#include<vector>
using namespace std;
void PrintMenu()
{
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;
}
void AddPlayer(vector<int>&jersey, vector<int>&rating,vector<int>flag,int newJersey, int newRating)
{
jersey.push_back(newJersey);
rating.push_back(newRating);
flag[newJersey] = jersey.size() - 1;
}
void RemovePlayer(vector<int>&jersey, vector<int>&rating, vector<int>flag, int newJersey)
{
jersey.erase(jersey.begin() + flag[newJersey]);
rating.erase(rating.begin() + flag[newJersey]);
flag[newJersey] = -1;
}
void UpdateRating(vector<int>&rating, vector<int>flag, int newJersey, int newRating)
{
rating[flag[newJersey]] = newRating;
}
void PrintPlayersWithRating(vector<int>&jersey,vector<int>&rating, int rate)
{
int player = 1;
cout << "ABOVE " << rate << endl;
for (int i = 0; i < jersey.size(); i++)
{
if (rating[i] > rate)
{
cout << "Player " << player << " -- Jersey Number: " << jersey[i] << ", Rating: " << rating[i] << endl;
player++;
}
}
}
void OutputRoster(vector<int>&jersey, vector<int>&rating)
{
cout << "ROSTER " << endl;
for (int i = 0; i < jersey.size(); i++)
{
cout << "Player " << i+1 << " -- Jersey Number: " << jersey[i] << ", Rating: " << rating[i] << endl;
}
}
SoccerPlayer.h
#include<iostream>
#include<vector>
using namespace std;
void PrintMenu();
void AddPlayer(vector<int>&jersey, vector<int>&rating, vector<int>flag, int newJersey, int newRating);
void RemovePlayer(vector<int>&jersey, vector<int>&rating, vector<int>flag, int newJersey);
void UpdateRating(vector<int>&rating, vector<int>flag, int newJersey, int newRating);
void PrintPlayersWithRating(vector<int>&jersey, vector<int>&rating, int rate);
void OutputRoster(vector<int>&jersey, vector<int>&rating);
Main.cpp
#include <iostream>
#include <vector>
#include "SoccerPlayer.h"
using namespace std;
int main()
{
vector<int>jersey;
vector<int>rating;
vector<int>flag(100,-1);
for (int i = 0; i < 5; i++)
{
int p;
cout << "Enter player "<<i+1<<"'s jersey number:(0-99)" << endl;
cin >> p;
jersey.push_back(p);
flag[p] = i;
cout << "Enter player " << i + 1 << "'s rating" << endl;
cin >> p;
rating.push_back(p);
cout << endl;
}
while (1)
{
PrintMenu();
char k;
cin >> k;
if (k == 'a')
{
int newJersey, newRating;
cout << "Enter a new player's jersey number:" << endl;
cin >> newJersey;
cout << "Enter the player's rating:" << endl;
cin >> newRating;
AddPlayer(jersey, rating, flag, newJersey, newRating);
}
else if (k == 'd')
{
int jerseyNumberTobeRemoved;
cout << "Enter a jersey number :" << endl;
cin >> jerseyNumberTobeRemoved;
RemovePlayer(jersey, rating, flag, jerseyNumberTobeRemoved);
}
else if (k == 'u')
{
int jerseytobeupdated,newRating;
cout << "Enter a jersey number :" << endl;
cin >> jerseytobeupdated;
cout << "Enter a new rating for player :" << endl;
cin >> newRating;
UpdateRating(rating, flag, jerseytobeupdated, newRating);
}
else if (k == 'r')
{
int rate;
cout << "Enter a rating:" << endl;
cin >> rate;
PrintPlayersWithRating(jersey, rating, rate);
}
else if (k == 'o')
{
OutputRoster(jersey,rating);
}
else if (k == 'q')
{
break;
}
cout << endl;
}
return 0;
}