while (infile >> CL[ns].lastname)
while (y = 0; y < 4; y ++)
ns++;//////////////////////////////////here's the problem, I think. With this line here each student is only going to get one exam grade in the exams array, with the firtst student getting a report in exams the second student in exams, the third in exams, the fourth in exams, the fifth in exams again, etc. I'll leave it up to you to figure out where to put this line.
This is an example of why I think the coding style displayed here is easier to debug than the one you used, although the one you used is a common style.