zapis << cheliki.firstname << " " << cheliki.name << " " << cheliki.patronymic << " " << cheliki.physics << endl;
при такой записи (endl в конце) файл всегда будет с пустой строкой в конце. Соответственно при выводе из файла цикл делается на 1 раз больше чем надо.