Skip to content

Instantly share code, notes, and snippets.

@brand-it
Created May 31, 2012 17:55
Show Gist options
  • Save brand-it/2845066 to your computer and use it in GitHub Desktop.
Save brand-it/2845066 to your computer and use it in GitHub Desktop.
Average Score Calculator using prototype to define the functions
#include <iostream>
#include <string>
#include <iomanip>
using namespace std;
void main() {
int inputData(string [], int [], int);
double calculateAverage(int [], int);
void displayScoreBoard(int [], string [], int);
void displayAboveAverage(int[], string [], int, double);
const int number_of_players = 100; // I use this little number to help me save time in the system for figuring out how big my array is
string players_name[number_of_players];
int players_score[number_of_players];
int total_players = 0;
double average = 0;
total_players = inputData(players_name, players_score, total_players);
cout << "Total Players " << total_players << endl;
if(total_players > 0){
average = calculateAverage(players_score, total_players);
displayScoreBoard(players_score, players_name, total_players);
displayAboveAverage(players_score, players_name, total_players, average);
} else {
cout << "Your total number of players is zero" << endl;
}
system("pause");
}
string inputPlayer(){
string name;
cout << "Enter Player Name (Q to quit): ";
cin >> name;
return name;
}
int inputScore(string name){
int score;
cout << "Enter score for " << name << " : ";
cin >> score;
return score;
}
int inputData(string players_name[100], int players_score[100], int total_players){
bool adding_players = true;
while(adding_players){
players_name[total_players] = inputPlayer();
if(players_name[total_players] == "Q"){
adding_players = false;
} else {
players_score[total_players] = inputScore(players_name[total_players]);
total_players++;
}
}
return total_players;
}
double calculateAverage(int players_score[100], int total_players){
double average_score = 0;
int average_total = 0;
for(int ps = 0; ps < total_players; ps++){
average_total += players_score[ps];
}
average_score = average_total / total_players;
cout << "Average Score: " << setiosflags(ios::fixed) << setprecision(3) << average_score << endl;
return average_score;
}
void displayScoreBoard(int players_score[100], string players_name[100], int total_players){
cout << endl;
cout << "Name" << "\t" << "Score" << endl;
for(int p = 0; p < total_players; p++){
cout << players_name[p] << "\t" << players_score[p] << endl;
}
}
void displayAboveAverage(int players_score[100], string players_name[100], int total_players, double average){
cout << endl;
cout << "Name" << "\t" << "Score" << endl;
for(int p = 0; p < total_players; p++){
if(players_score[p] >= average){
cout << players_name[p] << "\t" << players_score[p] << endl;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment