Code:
// This program will read in a group of test scores( positive integers from 1 to 100)
// from the keyboard and then calculates and outputs the average score
// as well as the highest and lowest score. There will be a maximum of 100 scores.
#include <iostream>
using namespace std;
float findAverage (int [], int); // finds average of all grades
int findHighest (int [], int&); // finds highest of all grades
int findLowest (int [], int&); // finds lowest of all grades
int main()
{
const int SIZE=100;
int grades[SIZE]; // == ???
int numberOfGrades; // == ???
int pos; // == ???
int size; // == ???
float avgOfGrades; // == ???
int highestGrade; // == ???
int lowestGrade; // == ???
// Read the values into the array
// pos == 0, grades[0] == ???
pos = 0;
cout << "Please input a grade from 1 to 100, (or -99 to stop)" << endl;
// Fake input: 1
cin >> grades[pos];
// pos == 0, grades[0] == 1
// 1: pos == 0, grades[0] == 1, grades[0] != -99
// 2: pos == 0, grades[0] == 75, grades[0] != -99
// 3: pos == 0, grades[0] == 84, grades[0] != -99
// 4: pos == 0, grades[0] == 99, grades[0] != -99
// 5: pos == 0, grades[0] == 100, grades[0] != -99
// 6: pos == 0, grades[0] == -99, grades[0] == -99 --->
while (grades[pos] != -99)
{
// 1: (pos + 1) == 1, grades[1] == ???
// 2: (pos + 1) == 1, grades[1] == ???
// 3: (pos + 1) == 1, grades[1] == ???
// 4: (pos + 1) == 1, grades[1] == ???
// 5: (pos + 1) == 1, grades[1] == ???
cout << "enter test score number " << (pos + 1) << ":";
// 1: Fake input 75
// 2: Fake input 84
// 3: Fake input 99
// 4: Fake input 100
// 5: Fake input -99
cin >> grades[pos];
// 1: pos == 0, grades[0] == 75
// 2: pos == 0, grades[0] == 84
// 3: pos == 0, grades[0] == 99
// 4: pos == 0, grades[0] == 100
// 5: pos == 0, grades[0] == -99
}
// --->
// pos == 0, grades[0] == -99, numberOfGrades == -99
numberOfGrades = grades[pos]; // Fill blank with appropriate identifier
// call to the function to find average
// avgOfGrades == ???
// avgOfGrades == findAverage(grades, -99) --->
avgOfGrades = findAverage(grades, numberOfGrades);
// --->
// avgOfGrades == 0
cout << endl << "The average of all the grades is " << avgOfGrades << endl;
// Fill in the call to the function that calculates highest grade
// highestGrade == ???
// highestGrade == findHighest(grades, -99) --->
highestGrade = findHighest(grades, size);
// --->
// highestGrade == ???
cout << endl << "The highest grade is " << highestGrade << endl;
// Fill in the call to the function that calculates lowest grade
// lowestGrade == ???
// lowestGrade == findLowest(grades, -99) --->
lowestGrade = findLowest(grades, size);
// Fill in code to write the lowest to the screen
// --->
// lowestGrade == ???
cout << endl << "The highest grade is " << lowestGrade << endl;
return 0; // ---> (0)
}
//****************************************************************************
// findAverage
//
// task: This function receives an array of integers and its size.
// It finds and returns the average of the numbers in the array
// data in: array of floating point numbers
// data returned: avarage of the numbers in the array
//
//****************************************************************************
float findAverage (int array[], int size)
{
// --->
float sum = 0; // holds the sum of all the numbers
// for (pos = 0, pos < -99; pos++) --->
for (int pos = 0; pos < size; pos++)
sum = sum + array[pos];
// --->
// sum == 0, size == -99
return (sum / size); // --->
}
//****************************************************************************
// findHighest
//
// task: This function receives an array of integers and its size.
// It finds and returns the highest value of the numbers in
// the array
// data in: array of floating point numbers
// data returned: highest value of the numbers in the array
//
//****************************************************************************
int findHighest (int array[], int& size)
{
// Fill in the code for this function
// --->
// array == grades, size == -99, SIZE == 100
const int SIZE=100;
int highest; // == ???
int grades[SIZE]; // == ???
// grades[0] == ???, highest == ???
highest = grades[0];
// for (pos == 1, pos < 100; pos++)
for (int pos = 1; pos < SIZE; pos++)
{
// grades[pos] == ???, highest == ???
if (grades[pos] > highest)
// highest == ???
highest = grades[pos];
// etc...
}
// highest == ???
return highest; // --->
}
//****************************************************************************
// findLowest
//
// task: This function receives an array of integers and its size.
// It finds and returns the lowest value of the numbers in
// the array
// data in: array of floating point numbers
// data returned: lowest value of the numbers in the array
//
//****************************************************************************
int findLowest(int array[], int& size)
{
// --->
// Fill in the code for this function
const int SIZE=100;
int lowest; // == ???
int grades[SIZE]; // == ???
// grades[0] == ???, lowest == ???
lowest = grades[0];
// for (pos == 1; pos < 100; pos++)
for (int pos = 1; pos < SIZE; pos++)
{
// grades[pos] == ???, lowest == ???
if (grades[pos] < lowest)
// grades[pos] == ???, lowest == ???
lowest = grades[pos];
// etc...
}
// lowest == ???
return lowest; // --->
}