I am trying to read from two text files. One at a time, but I keep getting the couldn't open file message. I've tried to make sure, they are in the same directory, however it still doesn't work. Could anyone tell me where is a mistake?
This is a constructor of a class which reads from 2 text files and fills up two different arrays.
here is the code:
#include <iostream>
#include <fstream>
#include "student.h"
#include "staff.h"
#include "studentstaff.h"
using namespace std;
studentstaff::studentstaff()
{
p = new Student[5];
p1 = new Staff[5];
ifstream file;
file.open("Student.txt");
if (!file)
{
cout << "File couldn't open." << endl;
}
else
{
int studentID;
string firstName;
string lastName;
string DOB;
char program;
int credit;
int startYear;
double GPA;
file >> studentID >> firstName >> lastName >> DOB >> program >> credit >> startYear >> GPA;
while (file)
{
for (int i = 0; i < 5; i++)
{
file >> studentID >> firstName >> lastName >> DOB >> program >> credit >> startYear
>> GPA;
p[i].setStudent(
studentID, firstName, lastName, DOB, program, credit, startYear, GPA);
}
}
file.close();
}
ifstream stafffile;
stafffile.open("staff.txt");
if (!stafffile)
{
cout << "File couldn't open." << endl;
}
else
{
string employeefstname;
string employeelstname;
int ID;
string phonenum;
int datehired;
char Code;
double salary;
stafffile >> employeefstname >> employeelstname >> ID >> phonenum >> datehired >> Code
>> salary;
while (stafffile)
{
for (int i = 0; i < 5; i++)
{
stafffile >> employeefstname >> employeelstname >> ID >> phonenum >> datehired
>> Code >> salary;
p1[i].setfirstname(employeefstname);
p1[i].setlastname(employeelstname);
p1[i].setID(ID);
p1[i].setphonenum(phonenum);
p1[i].setdatehired(datehired);
p1[i].setbonuscode(Code);
p1[i].setsalary(salary);
}
}
stafffile.close();
}
}