Here is what I have come up with so far. The program compiles but it keeps sayin
ID: 3622123 • Letter: H
Question
Here is what I have come up with so far. The program compiles but it keeps saying that it can't open the input file. I checked and made sure that I put the proper txt file into the program but it will not read the input file no matter what I do. What is wrong here?
#include <iostream>
#include <iomanip>
#include <fstream>
using namespace std;
int openfiles(ifstream& GPAfile, ofstream& outfile);
void initialize(float& sumFemale, float& sumMale, int& countFemale, int& countMale, int& code);
void sumGrades(float gpa, float& sum, int& count);
void averageGrades(float& avgFemale, float& avgMale, float sumFemale, float sumMale, int countFemale, int countMale);
void writeFile(ofstream& outfile, float avgFemale, float avgMale);
int main()
{
float sumFemale, sumMale;
float avgFemale, avgMale;
int countFemale, countMale;
int code;
char gender;
float gpa;
ifstream GPAfile;
ofstream outfile;
code=openfiles(GPAfile,outfile);
if (code = -1)
{
return 0;
}
initialize(sumFemale,sumMale,countFemale,countMale,code);
GPAfile>>gender>>gpa;
while (gpa != -999)
{
if (gender = 'f')
sumGrades(gpa, sumFemale, countFemale);
else if (gender = 'm')
sumGrades(gpa, sumMale, countMale);
GPAfile >> gender >>gpa;
}
averageGrades(avgFemale, avgMale, sumFemale, sumMale, countFemale, countMale);
writeFile(outfile,avgFemale,avgMale);
GPAfile.close();
outfile.close();
return 0;
}
int openfiles(ifstream& GPAfile, ofstream& outfile)
{
GPAfile.open("gpaData.txt");
if (GPAfile.fail())
{
cout<<"Input file did not open!"<
cout<<"Program will terminate!";
return 1;
}
outfile.open("GPAaverages.txt");
if (outfile.fail())
{
cout<<"Output file did not open!";
cout<<"Program will terminate!";
return 1;
}
outfile <<< showpoint;
outfile << setprecision (2);
return 0;
}
void initialize(float& sumFemale, float& sumMale, int& countFemale, int& countMale, int& code)
{
sumFemale = 0;
sumMale = 0;
countFemale = 0;
countMale = 0;
code = 0;
}
void sumGrades(float gpa, float& sum, int& count)
{
sum = sum + gpa;
count = count + 1;
}
void averageGrades(float& avgFemale, float& avgMale, float sumFemale, float sumMale, int countFemale, int countMale)
{
avgFemale = sumFemale / (float) countFemale;
avgMale = sumMale / (float) countMale;
}
void writeFile(ofstream& outfile, float avgFemale, float avgMale)
{
outfile<<"Average for females is:"<<
outfile<<"Average for males is: "<<
}