210 lines
4.9 KiB
C++
210 lines
4.9 KiB
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). (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
|
|
...
|
|
*/
|
|
|
|
#include <iostream>
|
|
#include <vector>// FIXME include vector library
|
|
using namespace std;
|
|
|
|
int main() {
|
|
|
|
/* Type your code here. */
|
|
|
|
vector<int> jerseyNumber(5);
|
|
vector<int> playerRating(5);
|
|
int unsigned i;
|
|
|
|
for (i=0; i < jerseyNumber.size(); i++){
|
|
cout << "Enter player " << (i + 1) << "'s jersey number:\n";
|
|
cin >> jerseyNumber.at(i);
|
|
cout << "Enter player " << (i + 1) << "'s rating:\n";
|
|
cin >> playerRating.at(i);
|
|
cout << endl;
|
|
}
|
|
|
|
cout << "ROSTER\n";
|
|
for (i=0; i < jerseyNumber.size(); i++){
|
|
cout << "Player " << (i + 1) <<
|
|
" -- Jersey number: " << jerseyNumber.at(i) <<
|
|
", Rating: " << playerRating.at(i) << endl;
|
|
}
|
|
cout << endl;
|
|
|
|
|
|
char userInput = 0;
|
|
int tempJersey;
|
|
int tempRating;
|
|
|
|
while (userInput != 'q'){
|
|
userInput = 0;
|
|
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 >> userInput;
|
|
|
|
if (userInput == 'a') {
|
|
cout << "Enter a new player's jersey number:\n";
|
|
cin >> tempJersey;
|
|
jerseyNumber.push_back(tempJersey);
|
|
cout << "Enter the player's rating:\n\n";
|
|
cin >> tempRating;
|
|
playerRating.push_back(tempRating);
|
|
}
|
|
//REMOVE
|
|
if (userInput == 'd'){
|
|
cout << "Enter a jersey number:\n";
|
|
cin >> tempJersey;
|
|
for (i=0; i<jerseyNumber.size(); i++){
|
|
if (tempJersey == jerseyNumber.at(i)){
|
|
jerseyNumber.erase(jerseyNumber.begin()+i);
|
|
playerRating.erase(playerRating.begin()+i);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
if (userInput == 'u'){
|
|
cout << "Enter a jersey number:\n";
|
|
cin >> tempJersey;
|
|
cout << "Enter a new rating for player:\n";
|
|
cin >> tempRating;
|
|
|
|
for (i=0; i<jerseyNumber.size(); i++){
|
|
if (tempJersey == jerseyNumber.at(i)){
|
|
playerRating.at(i) = tempRating;
|
|
}
|
|
}
|
|
}
|
|
|
|
//RATING ABOVE
|
|
|
|
if (userInput == 'r'){
|
|
cout << "Enter a rating:\n";
|
|
cin >> tempRating;
|
|
cout << "\nABOVE " << tempRating << endl;
|
|
|
|
for (i=0; i < jerseyNumber.size(); i++){
|
|
if (playerRating.at(i) > tempRating){
|
|
cout << "Player " << (i+1) <<
|
|
" -- Jersey number: " << jerseyNumber.at(i) <<
|
|
", Rating: " << playerRating.at(i) << endl;
|
|
}
|
|
}
|
|
cout << endl;
|
|
}
|
|
|
|
if (userInput == 'o'){
|
|
cout << "ROSTER\n";
|
|
for (i=0; i < jerseyNumber.size(); i++){
|
|
cout << "Player " << (i + 1) <<
|
|
" -- Jersey number: " << jerseyNumber.at(i) <<
|
|
", Rating: " << playerRating.at(i) << endl;
|
|
}
|
|
cout << endl;
|
|
}
|
|
if (userInput == 'q'){
|
|
break;
|
|
}
|
|
}
|
|
return 0;
|
|
}
|