Zmień typ zmiennej suma na float (bądź inny typ zmiennoprzecinkowy), albo przy wykonywaniu dzielenia castuj ją na float:
srednia = static_cast<float>(suma) / n;
Dzieląc int przez int (tak jak teraz), wynikiem też będzie int i stąd ucięcie części niecałkowitej. Tak, wynik dzielenia jest przypisywany do floata, ale zauważ, że najpierw tworzona jest zmienna tymczasowa będą wynikiem dzielenia (i tutaj jest typu int), a dopiero potem jest przypisywany do floata.