Created
May 31, 2012 17:55
-
-
Save brand-it/2845066 to your computer and use it in GitHub Desktop.
Average Score Calculator using prototype to define the functions
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#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