Вы повторно открываете файл заново в input.open("StudentInfo.txt");
Ваш do {} while
l oop должен выглядеть примерно так (, хотя вам нужно быть осторожным с while (!stream.eof) {}
):
input.open("StudentInfo.txt");
while (!input.eof()) {
input >> ...;
output << ... << endl;
}
В опубликованном коде есть другие проблемы, которые учитель, вероятно, охарактеризовал бы как недостатки: неорганизованные процедуры, раздутый предикат (выражение if
), неспособность придерживаться распознаваемой переменной и стиль кодирования - но ничего такого, что быстрый обзор материала, представленного в лекциях или примечаниях к разделам о файлах, циклах и краткое прочтение уважаемого руководства по стилю C ++, не исправит.
C ++ - сложный язык и бесчисленное количество ветеранов «оторвало свои ноги», несмотря на превосходное владение языком. Как новичок, вы должны ожидать, что ответы на вопросы (такие как этот) потребуют 30-45 минут дополнительного исследования, чтобы определить термины, поместить их в более широкий контекст или развить интуицию для механизма.