Oh, one serious problem that you do have is you declare: char student1;
But then you write: myFile >> student1[r][c][MAX_SIZE];
MAX_SIZE = 14 so you have: myFile >> student1[r][c];
You're writing to memory which is out of bounds. That means it could contain ANYTHING and could be over-written by anyone at any time. It is highly likely you will get a segmentation fault next time you run the program. I'd suggest making this a 2d array instead of a 3d array. Even better, I'd use vectors and structures.