Приветствие. я
Я создал файл, который запрашивает имя и возраст, я хочу извлечь количество возрастов, которые были введены в файл, и это число распечатать его в другом файле.
Я знаю, что могу рассчитывать, основываясь на количестве имен или даже разах, когда я запрашивал информацию, но мне нужно посчитать, сколько возрастов я получил, основываясь на числе, в данном случае int , и распечатать его в другом файле.
Вот мой код:
#define T 50
#define A 5
void main ()
{
FILE *ap=NULL, *ap2=NULL;
char cad[T];
int age, x,cont=0;
ap=fopen("Dat.txt", "w+"); //Open File
if(ap==NULL)
{ printf("Cant open the file");
getch();
exit(1);
}
ap2=fopen("Ages.txt","w"); //Open File
if(ap2==NULL)
{ printf("Cant open the file");
getch();
exit(1);
}
for(x=0;x<A;x++) //Gets the information
{ printf("Name: ");
gets(cad);
printf("Age: ");
scanf("%d",&age);
fflush(stdin);
fprintf(ap,"%-30s %d\n",cad,age);
}
rewind(ap);
fgets(cad,T,ap);
while(!feof(ap)) //Start counting the ages
{ fscanf(ap,"%d",&age);
++cont;
}
fprintf(ap2,"%d", cont);
fclose(ap); fclose(ap2); //Close both Files
Работает нормально, создавая файл "Dat.txt" со всей информацией, если я комментирую последние 6 строк кода (кроме fclose ), но, похоже, он входит в цикл, потому что он не ничего не делать, когда я закончу ввод информации.