//Author
//Today
//Program that Reads in data from a file and Incoperates an array to print out a new one.
using namespace std;
#include <iostream>
#include <fstream>
#include <iomanip>
typedef int Grade_t;
const int NAMESIZE = 11;
const int FILESIZE = 80;
typedef char Name_t[NAMESIZE];
typedef fstream GradesFile_t;
typedef fstream PrinterFile_t;
typedef char FileName_t[80];
class student_t
{
private:
Name_t Name;
Grade_t Grade;
public:
student_t();
Name_t NewName, TheName;
Grade_t NewGrade, TheGrade;
void setName(Name_t NewName);
void getName(Name_t & TheName);
void setGrade(Grade_t NewGrade);
void getGrade(Grade_t & TheGrade);
void Read(GradesFile_t & GradeFile
,student_t classroom
,Name_t NewName
, Grade_t NewGrade);
};//student_t
const int MAXARRAYSIZE = 20;
typedef student_t studentArray_t[MAXARRAYSIZE];
typedef int counter_t;
void InputIntoArray(studentArray_t & student, int & N);
void PrintFromArray(studentArray_t & student, int N);
student_t::student_t()
{}//constructor
void InputIntoArray(studentArray_t & student, int & N)
{ int test;
N = 0;
FileName_t FileName;
GradesFile_t GradeFile;
Name_t NewName;
Grade_t NewGrade;
cout<<"Enter the name of the existing Grades File: ";
cin>>FileName;
GradeFile.open(FileName, ios::in);
student_t classroom;
classroom.Read(GradeFile,classroom,NewName,NewGrade);
while((!GradeFile.eof())
&& (!GradeFile.fail())
&& (N<MAXARRAYSIZE -1))
{cout<<NewName<< " "<<NewGrade<<endl;
cin>>test;
student[N] = classroom;
N++;
classroom.Read(GradeFile,classroom,NewName,NewGrade);
}//while
GradeFile.close();
}//InputIntoArray
void PrintFromArray(studentArray_t & student,int N )
{int test;
Name_t TheName;
Grade_t TheGrade;
FileName_t FileName;
PrinterFile_t Printer;
cout<<"Enter Printer File Name: ";
cin>>FileName;
Printer.open(FileName, ios::out);
Printer<<setw(15)<<"Name"
<<setw(5)<<"Grade"
<<endl;
for(int I = 0; I<N; I++)
{
student[I].getName(TheName);
//test
cout<<"this is THENAME: "<<TheName;
//test
student[I].getGrade(TheGrade);
Printer<<setw(15)<<TheName
<<setw(5)<<TheGrade
<<endl;
}//for
Printer.close();
cout<<"File Closing......Terminating."<<endl;
}//PrintFromArray
void student_t::setName(Name_t NewName)
{
strcpy(Name, NewName);
}//setName
void student_t::getName(Name_t & TheName)
{
strcpy(TheName, Name);
}//getName
void student_t::setGrade(Grade_t NewGrade)
{
Grade = NewGrade;
}//setGrade
void student_t::getGrade(Grade_t & TheGrade)
{
TheGrade = Grade;
}//getGrade
void student_t:: Read(GradesFile_t & GradeFile
,student_t classroom
,Name_t NewName
,Grade_t NewGrade)
{
GradeFile>>NewName;
classroom.setName(NewName);
GradeFile>>NewGrade;
classroom.setGrade(NewGrade);
}//Read
main()
{int test;
studentArray_t student;
counter_t N =0;
InputIntoArray(student, N);
PrintFromArray(student, N);
};//main