#include "student.h" #include #include #include using namespace std; void readAllStudents(ifstream&, student[], int&); void calcAllAverages(student[], int); void assignAllGrades(student[], int); void sort(student[], int); void writeAllStudents(student[], int); int main() { const int MAX_STU = 100; student cis67[MAX_STU]; int size; ifstream ins; ins.open("stuFile.txt"); if (ins.fail()) { cout << "error - file open"<< endl; return EXIT_FAILURE; } readAllStudents(ins, cis67, size); //calcAllAverages(cis67, size); //assignAllGrades(cis67, size); sort(cis67, size); writeAllStudents(cis67, size); return 0; } void readAllStudents(ifstream& ins, student cis67[], int& size) { student temp; // input size = 0; temp.readStudent(ins); while (!ins.eof()) { cis67[size] = temp; size++; temp.readStudent(ins); } } void writeAllStudents(student cis67[], int size) { for (int i = 0; i < size; i++) { cis67[i].writeStudent() ; } } ; void calcAllAverages(student cis67[], int size) { for (int i = 0; i < size; i++) { cis67[i].calcAverage() ; } } void assignAllGrades(student cis67[], int size) { for (int i = 0; i < size; i++) { cis67[i].assignGrade() ; } } void sort(student cis67[], int size) { for (int fill = 0; fill < size-1; fill++) { student temp; int smallIndex = fill; for (int j = fill+1; j < size; j++) { if (cis67[j].getName() < cis67[smallIndex].getName()) smallIndex = j; } // assert: smallIndex is position // next smallest - swap values temp = cis67[fill]; cis67[fill] = cis67[smallIndex]; cis67[smallIndex] = temp; } }