Я работал над этим кодом, но не могу выяснить, что не так.Эта программа компилируется и запускается, но заканчивается фатальной ошибкой.
Программа читает файл и собирает числа, чтобы вычислить итоговое значение (после преобразования их в число с плавающей точкой).Затем он читает файл и отображает файл, у которого меньше 10,00
У меня есть файл myFile.txt со следующим содержимым:
Джеймс ------ 07.50 Антоний-- 17,00
Таким образом, дисплей должен быть
- Всего 24,50
- Вот тот, с менее чем 10,00:
- Джеймс, которыйимеет 07.50
И вот код:
int main()
{
int n =2, valueTest=0,count=0;
FILE* file = NULL;
float temp= 00.00f, average= 00.00f, flTen = 10.00f;
float *totalNote = (float*)malloc(n*sizeof(float));
int position = 0;
char selectionNote[5+1], nameBuffer[10+1], noteBuffer[5+1];
file = fopen("c:\\myFile.txt","r");
fseek(file,10,SEEK_SET);
while(valueTest<2)
{
fscanf(file,"%5s",&selectionNote);
temp = atof(selectionNote);
totalNote[position]= temp;
position++;
valeurTest++;
}
for(int counter=0;counter<2;counter++)
{
average += totalNote[counter];
}
printf("The total is : %f \n",average);
rewind(file);
printf("here is the one with less than 10.00 :\n");
while(count<2)
{
fscanf(file,"%10s",&nameBuffer);
fseek(file,10,SEEK_SET);
fscanf(file,"%5s",¬eBuffer);
temp = atof(noteBuffer);
if(temp<flTen)
{
printf("%s who has %f\n",nameBuffer,temp);
}
fseek(file,1,SEEK_SET);
count++;
}
fclose(file);
}
Я довольно новичок в c и нахожу это более сложным, чем c # или java.И я хотел бы получить некоторые предложения, которые помогут мне стать лучше.Я думаю, что этот код может быть проще.Ты думаешь так же?