Program won't read data from text file

//I am having problems with reading the data from the file. It always outputs //"Invalid file name". I also am having problems with my print_Saverage //function. It always evaluates as true and just prints a 1 instead of the //average of the 5 scores.

#include <iostream>
#include <fstream>
#include <iomanip>
#include <string>

using namespace std;

int find_Lowest ( int score1, int score2, int score3, int score4, int score5 );
int find_Highest ( int score1, int score2, int score3, int score4, int score5 );
int studentAverage ( int score1, int score2, int score3, int score4, int score5 );
void print_Saverage ( int s_average);

int main ()
{
ifstream inData;
string filename, firstname, lastname;
int score1, score2, score3, score4, score5, s_average;

// int score1[50], score2[50], score3[50], score4[50], score5[50],
// averages[50];
// string first[50], last[50];
cout << "What is the name of the file?" << endl;

cin >> filename;

inData.open("filename");

if (!inData)
{
cout << "Invalid file name" << endl;
}

inData >> firstname >> lastname >> score1 >> score2 >> score3 >>
score4 >> score5;


studentAverage ( score1, score2, score3, score4, score5 );

print_Saverage ( s_average);





system ("pause");
return 0;

}

int find_Lowest ( int score1, int score2, int score3, int score4, int score5 )
{
if (score1 <= score2 && score1 <= score3 && score1 <= score4
&& score1 <= score5)
return score1;

else if (score2 <= score1 && score2 <= score3 &&
score2 <= score4 && score2 <= score5)
return score2;

else if (score3 <= score1 && score3 <= score2 &&
score3 <= score4 && score3 <= score5)
return score3;

else if (score4 <= score1 && score4 <= score3 &&
score4 <= score2 && score4 <= score5)
return score4;

else
return score5;
}

int find_Highest ( int score1, int score2, int score3, int score4, int score5 )
{
if (score1 >= score2 && score1 >= score3 && score1 >= score4
&& score1 >= score5)
return score1;

else if (score2 >= score1 && score2 >= score3 &&
score2 >= score4 && score2 >= score5)
return score2;

else if (score3 >= score1 && score3 >= score2 &&
score3 >= score4 && score3 >= score5)
return score3;

else if (score4 >= score1 && score4 >= score3 &&
score4 >= score2 && score4 >= score5)
return score4;

else
return score5;
}

int studentAverage ( int score1, int score2, int score3, int score4, int score5 )
{
int lowest = find_Lowest ( score1, score2, score3, score4, score5 );
int highest = find_Highest ( score1, score2, score3, score4, score5 );

int sum=score1+score2+score3+score4+score5;

sum-=lowest;
sum+=highest;

double studentAverage = sum/5.0;

studentAverage = static_cast <int> (studentAverage + 0.5);

return studentAverage;
}

void print_Saverage ( int s_average)
{ int score1, score2, score3, score4, score5 ;
studentAverage ( score1, score2, score3, score4, score5 );

cout << "The average is " << studentAverage << endl;

}



You're trying to open a file called "filename". You need to specify the file extension (i.e. txt, dat) and change it to "filename.type".
Topic archived. No new replies allowed.