Функция отображения не работает
Приведенный ниже код был использован для создания базы данных студентов. Мне дали сделать это в школе.
Единственная проблема, с которой я сталкиваюсь здесь, заключается в том, что моя функция отображения не работает. Я выполнил код и на выходе для функции отображения не выходит должным образом. Даже после достижения последней строки он все еще показывает до тех пор, пока пол не покажет то же самое слово, а затем он заканчивается.
Что я мог понять из этого, так это то, что указатель файла не достигает EOF или, если он достигает функции feof, не может его обнаружить. Пожалуйста помочь.
Спасибо!
Что я уже пробовал:
void display () { ptr = fopen ("student.txt", "r"); rewind (ptr); char temp[50]; while (!feof (ptr)) { printf ("Roll Number: "); fscanf (ptr, " %[^\n]", temp); printf ("%s\n", temp); printf ("Name: "); fscanf (ptr, " %[^\n]", temp); printf ("%s\n", temp); printf ("Address: "); fscanf (ptr, " %[^\n]", temp); printf ("%s\n", temp); printf ("Gender: "); fscanf (ptr, " %[^\n]", temp); if (temp[0] == 'm' || temp[0] == 'M') { printf ("Male\n"); printf ("Father's Name: "); fscanf (ptr, " %[^\n]", temp); printf ("%s\n", temp); printf ("Father's Email Id: "); fscanf (ptr, " %[^\n]", temp); printf ("%s\n", temp); } if (temp[0] == 'f' || temp[0] == 'F') { printf ("Female\n"); printf ("Mother's Name: "); fscanf (ptr, " %[^\n]", temp); printf ("%s\n", temp); printf ("Mother's mobile number: "); fscanf (ptr, " %[^\n]", temp); printf ("%s\n", temp); } printf ("\n\n"); } fclose (ptr); }
Patrice T
ИСПОЛЬЗУЙТЕ СТРОЧНЫЕ БУКВЫ !
"ФУНКЦИЯ ОТОБРАЖЕНИЯ НЕ РАБОТАЕТ ДОЛЖНЫМ ОБРАЗОМ"
Это не информативно.
Вы должны сказать нам, что вы ожидаете и как дисплей ошибается.
Member 13394766
Функция отображения должна была дать номер рулона, имя, адрес и т. д. Даже если он показывает результат, но выход не заканчивается. Насколько мне известно, указатель файла не достигает EOF, а если и достигает, то feof не может его прочитать. Возможно, я ошибаюсь. Пожалуйста, пройдите через мой код и помогите мне.
Мне очень жаль, что я использую только колпачки. Я не знал,что это считается таким.
Patrice T
Воспользуйся Улучшить вопрос чтобы обновить ваш вопрос.
Чтобы каждый мог обратить внимание на эту информацию.
Member 13394766
- Готово! А теперь не могли бы вы мне помочь?
Richard MacCutchan
См. предложения OriginalGriff ниже.
Richard MacCutchan
Пожалуйста, удалите весь код, не связанный с проблемой, и правильно отформатируйте то, что осталось. Тогда объясните точно, в чем проблема.
Member 13394766
Я надеюсь, что отредактированный вопрос даст больше понимания этому вопросу.
Я очень надеюсь, что вы сможете еще раз просмотреть мой код и помочь мне.
Dave Kreskowiak
Во-первых, перестаньте кричать на людей! Использование всех заглавных букв равносильно крику на кого-то в сети.
Затем удалите весь код, который не имеет никакого отношения к проблеме, и заключите его в теги HTML PRE, чтобы сохранить форматирование.
Member 13394766
Мне очень жаль, что я использую только колпачки. Я не знал,что это считается таким.
Я надеюсь, что код теперь легче понять.