J'ai travaillé sur ce code mais je ne peux pas trouver ce qui ne va pas. Ce programme se compile et s'exécute mais il finit par avoir une erreur fatale.C: manipulation de fichiers Impossible de comprendre comment simplifier ce code avec la manipulation de fichiers
Le programme lit un fichier et recueille les nombres afin de calculer le total (après les avoir convertis en flottant). Ensuite, il lit le fichier et affiche celui qui a moins de 10.00
J'ai un fichier appelé monFichier.txt, avec le contenu suivant:
James ------ 07,50 Anthony --- 17,00
Ainsi, l'affichage doit être
- le total est 24,50
- est ici celui avec moins de 10.00:
- James qui a 07,50
Et voici le code:
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);
}
Je suis assez nouveau à c et trouve qu'il est plus difficile que C# ou java. Et je voudrais avoir quelques suggestions pour m'aider à aller mieux. Je pense que ce code pourrait être plus simple. Pensez-vous la même chose?
Je recherche dans ce au grâce de moment pour le souligner! –