1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| void enregistre_stat(char *Pjoueur1,int *Pparite_gagne1,int *Ppartie_perdu1,int *Ptotal_partie)//on envoi a la fonction des pointeur des stat des parties jouer et le nom du joueur
{
FILE* stat = NULL;
int stat_enregistre_gagne = 0,stat_enregistre_perdu = 0,stat_enregistre_total_partie = 0;
char joueur_enregistre [20]= {0};
stat = fopen("stat.txt","r+"); // on ouvre le fichier stat pour lire et ecrire
if(stat == NULL)
{
printf(" nous n'avons pas reussi a ouvrire le fichier");
return 0;
}
do //on teste si le joueur a deja jouer
{
fscanf(stat,"%s",joueur_enregistre);//on récupère le nom des joueurs deja enregistre ligne par ligne
(strcmp(joueur_enregistre,*Pjoueur1));// on teste
} while(joueur_enregistre != EOF && (strcmp(joueur_enregistre,*Pjoueur1)));//la boucle tour tant qu'une des deux condition ne sont pas remplie
if(strcmp(joueur_enregistre, Pjoueur1))// si oui on recupere c'est stat on y ajoute les nouvelle et on reecrie le tout
{
fscanf(stat,"%d %d %d",&stat_enregistre_gagne,&stat_enregistre_perdu,&stat_enregistre_total_partie);
stat_enregistre_gagne = stat_enregistre_gagne + *Pparite_gagne1;
stat_enregistre_perdu = stat_enregistre_perdu + *Ppartie_perdu1;
stat_enregistre_total_partie = stat_enregistre_total_partie + *Ptotal_partie;
fprintf(stat,"%s %d %d %d",*Pjoueur1,stat_enregistre_gagne,stat_enregistre_perdu,stat_enregistre_total_partie);
}
else// si non on ecrie vu que le "curseur" est a la dernier ligne pas de probleme ?
{
fprintf(stat,"%s %d %d %d",*Pjoueur1,*Pparite_gagne1,*Ppartie_perdu1,*Ptotal_partie);// si non on ecrie vu que le "curseur" est a la dernier ligne pas de probleme ?
}
fclose(stat); |
Partager