Ваша функция инициализации не инициализирует то, что вы думаете, потому что передаваемые параметры передаются в виде побочного значения. Вам нужно заглянуть в передавая по ссылке .
Строго говоря, из-за этого ошибка ...
int countFemale;
int countMale;
float sumFemaleGPA;
float sumMaleGPA;
float avgfGPA;
float avgmGPA;
Эти переменные ни к чему не инициализированы. Вы могли бы сделать что-то вроде
int countFemale = 0;
int countMale = 0;
float sumFemaleGPA = 0;
float sumMaleGPA = 0;
float avgfGPA = 0;
float avgmGPA = 0;
Возможно, чтобы улучшить ваше понимание, измените свою функцию инициализации, чтобы инициализировать значения на 1, и обратите внимание, что значения не изменяются с 0. Это потому, что вы передаете копии переменных в вашу функцию инициализации. Вы хотите передать ссылки на исходные переменные, используя оператор &
.