salut , j' ai un souci avec un fichier en C. Mon pg permet les gestion des absences, des retard et des retenues par trimestre. Voila j'ai la structure suivante :
struct eleve
{
int identifiant;
char nom[LG];
char prenom[LG];
char classe[LG];
char numtel[LG];
int retard;
int absence;
int retenue;
int retard_trim1;
int absence_trim1;
int retenue_trim1;
}seleve ;
je voudrais grace a une fonction reinitialiser les champs retard, absences et retenues pour les mettre dans les champs retard_trim1, absences_trim1 et retenues_trim1, pour ensuite les remettre a 0. J'ai essayé comme ça :
void reinit_eleve()
{
char rep;
int compteur;
printf("Vous allez reinitialiser \n\nles -retenues\nles -absences\nles -retards\n\ndu trimestre en cours\n");
printf("Voulez vous continuez ?\n");
scanf("%c",&rep);
flushall();
fichier_eleve=fopen("fichier1_eleve","wb");//on ouvre le fichier
if((rep=='o')|| (rep=='O'))
{
while (fread (&seleve, sizeof(seleve),1,fichier_eleve) != 0)//tant qu'on lit dans le fichier
{
fseek(fichier_eleve,sizeof(seleve)*(seleve.absence),SEEK_SET);
seleve.absence_trim1=seleve.absence;
compteur=compteur+1;
}
}//fin if
else
{
printf("Il n'y a pas d'eleve dans la base...\n\n");
}
fseek(fichier_eleve,sizeof(seleve)*(seleve.absence),SEEK_SET); //SEEK SET faire bouger le curseur du pointeur
//on se replace a l'endroit du fichier où se trouve l' eleve
fwrite(&seleve,sizeof(seleve),1,fichier_eleve);
//on écrit le client dans le fichier, par dessus
fclose(fichier_eleve);//fermeture du fichier
getch();
}
Le bleme c'est ke ça passe pas et je sais ke y a des soucis mais je vois pas ou.
Qqn peut m'aider plizz?
(¯`·.¸¸.-> £udo <-.¸¸.·´¯)

