Ещё строку в main с while стоит переписать скорее всего. Потому что while (!EOF) ни разу не исполнится.