У меня проблемы с адекватным использованием EOF.
что я хочу: при запуске программы она должна автоматически предлагать пользователю ввести число и выйти, когда пользователь сигнализирует EOF через клавиатуру
что на самом деле происходит: когда я запускаю программу, она сидит и ждет, когда пользователь нажмет клавишу ввода, ТОГДА она предложит пользователю ввести число;это как-то делает мой код глючным
Я НЕ ПРОСИТ НИКАКОГО, ЧТОБЫ СДЕЛАТЬ Мое НАЗНАЧЕНИЕ.Я ЗАВЕРШИЛ 99,8% ЭТОГО.IM NEW C C ПРОГРАММИРОВАНИЕ
#include <stdio.h>
#include <stdbool.h>
#include <stdlib.h> // For exit()
int main( ) {
char c;
while ( (c = getchar()) != EOF) {
int user_numbr = 0;
int file_number = 0;
int last_Appearance = 0;
int index = 0;
bool notFound;
FILE *fptr;
fptr = fopen("numbers.text", "r");
printf("Enter a number: ");
scanf("%d", &user_numbr);
while ( !feof (fptr) ) {
fscanf (fptr, "%d", &file_number);
if ( feof (fptr) ) break;
index++;
if ( user_numbr == file_number ) {
last_Appearance = index;
}
}
fclose(fptr);
if ( last_Appearance != 0) {
printf("%d last appears in the file at position ", user_numbr);
printf("%d\n", last_Appearance);
}
else if ((c = getchar()) != EOF)
printf("%d does not appear in the file\n", user_numbr);
}
return 0;
}