Question: Modify your program from Exercise 1 so that it reads the information from the gradfile.txt file, reading until the end of file is encountered. You

Modify your program from Exercise 1 so that it reads the information from the gradfile.txt file, reading until the end of file is encountered. You will need to first retrieve this file from the Lab 7 folder and place it in the same folder as your C++ source code. Run the program.

I have the following code, but my data file is not being read. Please help! The values in the datafile are

90 45 73 21 62

// 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

#include using namespace std;

typedef int GradeType[100]; // declares a new data type: // an integer array of 100 elements

float findAverage(const GradeType, int); // finds average of all grades int findHighest(const GradeType, int); // finds highest of all grades int findLowest(const GradeType, int); // finds lowest of all grades

int main()

{ GradeType grades; // the array holding the grades. int numberOfGrades; // the number of grades read. int pos; // index to the array.

float avgOfGrades; // contains the average of the grades. int highestGrade; // contains the highest grade. int lowestGrade; // contains the lowest grade.

ifstream dataFile; dataFile.open("gradfile.txt"); if (! dataFile) { cout << "Error: Can't open the file named gradfile.txt. "; exit(1); }

// Read in the values into the array

pos = 0; dataFile >> grades[pos];

while (grades[pos] != -99) {

pos++; dataFile >> grades[pos];

}

numberOfGrades = pos;

// call to the function to find average

avgOfGrades = findAverage(grades, numberOfGrades);

cout << endl << "The average of all the grades is " << avgOfGrades << endl;

highestGrade = findHighest(grades, numberOfGrades);

cout << endl << "The highest grade is " << highestGrade << endl;

lowestGrade = findLowest(grades, numberOfGrades);

cout << "The lowest grade is " << lowestGrade << endl;

system("pause");

return 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(const GradeType array, int size)

{

float sum = 0; // holds the sum of all the numbers

for (int pos = 0; pos < size; pos++)

sum = sum + array[pos];

return (sum / size); //returns the average

}

//**************************************************************************** // 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(const GradeType array, int size)

{

int highestgrade = array[0];

for (int pos = 0; pos < size; pos++)

if (array[pos] > highestgrade) { highestgrade = array[pos]; }

return highestgrade;

}

//**************************************************************************** // 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(const GradeType array, int size)

{ int lowestgrade = array[0]; for (int pos = 0; pos > size; pos++)

if (array[pos] < lowestgrade) { lowestgrade = array[pos]; }

return lowestgrade; }

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!