Je lis un livre et je ne peux pas comprendre ce essayer: (il est dans une langue non-anglais, donc je l'ai traduit)Comment lire un fichier, captant des données et calculer
Ecrire un programme qui demande un nombre d'étudiants n, sélectionnez n étudiants (de manière dynamique), le nom est 10 caractères et note sur 5 caractères
Créer un fichier texte note.txt de la sélection ci-dessus et ajouter des traits d'union à atteindre 10 caractères (pour les noms).
Puis lisez le fichier et à partir de celui-ci (seulement), calculez le total. Ensuite, affichez le nom et la note de ceux qui ont une note qui n'est pas supérieure à 10.
Vous devez implémenter 3 fonctions: createStudent, createFile et readFile, et n'utilisez pas de variables globales. Syntaxe: nom doit être déclaré comme char nom [10 + 1] (ie James, puis 5 traits d'union seront ajoutés pour obtenir 10 caractères) => james ----- et note: char [5+ 1] (ie 15.00 ou 07.50)
Conseils: pour convertir la note du format de texte à flotter, vous pouvez utiliser la fonction atof
J'ai créé les fonctions createStudent et Createfile. ils fonctionnent bien mais je n'arrive pas à comprendre la dernière partie (fonction readFile).
Mon fichier texte a cette forme: Bart ------ ------ 04,50 Lisa 18.00 Homer ----- 03,00
void readFile(int n){
FILE* file = NULL;
double temp= 0.0, average= 0.0;
double *total = (double*)malloc(n*sizeof(double));
int position = 0;
char information[5+1]="";
file = fopen("c:\\myFile.txt","r");
fseek(file,10,SEEK_SET);
while(fgetc(file) != EOF)
{
fscanf(file,"%5s",&information);
temp = atof(information);
total[position]= temp;
position++;
fflush(stdin);
fseek(file,11,SEEK_CUR);
}
fclose(file);
for(int compteur=0;compteur<2;compteur++)
{
moyenne += totalNote[compteur];
}
Il compile mais ne fonctionne pas et je ne peut pas comprendre pourquoi :( j'ai le sentiment que le langage C est une telle douleur dans le cul par rapport à java ou C#
Pourriez-vous s'il vous plaît me donner quelques lumières?