Ну так всё ясно: у Вас в двух программах - разные записи, отличающиеся количеством и расположением полей! Абсолютно недопустимо. Запись во второй программе должна быть ПОЛНОСТЬЮ идентична записи в первой. Средний балл можно считать как простую переменную, нечего ему вообще в записи делать. Т.е. нашли студента, у которого 5 по физике, ну и сосчитайте да выведите среднюю оценку - в запись-то зачем ее пихать?