Hello all... I'm having a few problems with my program. I will list the problems that I need help with..
1) I need help printing out the highest testScore (I'm am getting garbage numbers)
2) I need help printing out the person's name in my input file who has the highest testScore
3) Before I get to the highestTest function, I am able to print everything fine, but when I get to this function, I get stuck with how to print out everything.
As you can see in my code, I keep opening my output file in each function, and I don't know if I'm suppose to do that, but it was the only way I can get things to print out. I currently can only get print last name, first name, testScore, and lettergrade to print out. When I get into the last 2 functions, I am unable to get the highest testScore (I'm getting garbage numbers) when I print it out and I'm unable to print the person's name who has the highest testScore.
If you have any questions, please ask.
Example of my input file:
Kay, Harry 95
Barnes, Mary 88
Cartwright, Matt 75
Downes, Ryan 80
Fields, Whitney 69
Here is my code:
#include <iostream>
#include <iomanip>
#include <fstream>
#include <string>
using namespace std;
struct studentType
{
string studentFName;
string studentLName;
int testScore;
char grade;
};
void init (studentType students[]);
void assignGrades (studentType students[]);
void highestTest (studentType students[]);
void printHighest (studentType students[]);
int main()
{
studentType students[5];
init(students);
assignGrades(students);
highestTest(students);
printHighest(students);
system ("PAUSE");
return 0;
}
void init (studentType students[])
{
ifstream inData;
ofstream outData;
inData.open("Unknown.txt");
outData.open("Unknown_output.txt");
for (int i = 0; i < 5; i++)
{
inData>>students[i].studentLName;
inData>>students[i].studentFName;
inData>>students[i].testScore;
}
for (int i = 0; i < 5; i++)
{
outData<<students[i].studentLName<<" ";
outData<<students[i].studentFName<<" ";
outData<<students[i].testScore<<" ";
outData<<endl;
}
inData.close();
outData.close();
}
void assignGrades (studentType students[])
{
ofstream outData;
outData.open("Unknown_output.txt");
char grade;
for (int i = 0; i < 5; i++)
{
if (students[i].testScore >= 90 && students[i].testScore <= 100)
{
students[i].grade = 'A';
}
else if (students[i].testScore >= 80 && students[i].testScore < 90)
{
students[i].grade = 'B';
}
else if (students[i].testScore >= 70&& students[i].testScore < 80)
{
students[i].grade = 'C';
}
else if (students[i].testScore >= 60&& students[i].testScore < 70)
{
students[i].grade = 'D';
}
else if (students[i].testScore <= 59)
{
students[i].grade = 'F';
}
}
for (int i = 0; i < 5; i++)
{
outData<<students[i].studentLName<<" ";
outData<<students[i].studentFName<<" ";
outData<<students[i].testScore<<" ";
outData<<students[i].grade;
outData<<endl;
}
outData.close();
}
void highestTest (studentType students[])
{
int highest;
ofstream outData;
outData.open("Unknown_output.txt");
for (int i = 0; i < 5; i++)
{
if (students[i].testScore > highest)
highest = students[i].testScore;
}
outData.close();
}
void printHighest (studentType students[])
{
int highest;
ofstream outData;
outData.open("Unknown_output.txt");
for (int i = 0; i < 5; i++)
{
outData<<students[i].studentLName<<" ";
outData<<students[i].studentFName<<" ";
outData<<students[i].testScore<<" ";
outData<<students[i].grade;
outData<<endl;
}
outData<<"Highest grade: "<<highest;
outData<<endl;
for (int i = 0; i < 5; i++)
{
if (students[i].testScore > highest)
{
outData<<"Student with highest test score is: "<<students[i].studentFName<<" ";
}
}
outData.close();
}