Bonjour à tous !
Dans le cadre de mes études il m'est demandé de créer un projet en C++, celui-ci doit permettre a un utilisateur lambda de pouvoir creer, repondre et consulter les résultats d'un sondage.
Cependant j ai un petit soucis lorsque mon utilisateur doit répondre au sondage.
En effet j ai crée un fichier avec toutes les réponses de l'utilisateur et ce pour chaque sondage. Cependant ce fichier doit pouvoir être modifié et ce a chaque fois qu'un nouvel utilisateur y répond mais je ne vois pas qu'elle pourrait être la démarche.
Pour vous expliquer un peu plus en detail j utilise ce fichier au sein d'une fonction , j'ouvre le fichier des données en lecture
Suivi par une suite de scanf pour la lecture des données du fichier :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3 FILE*fichierd; fichierd=fopen(strcat(d,"donnees.txt"),"r");
ensuite l'utilsateur repond aux questions
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7 fscanf (fichierd,"%d",&x.compteur); fscanf (fichierd,"%d",&x.nbfemme); fscanf (fichierd,"%d",&x.nbhomme); fscanf (fichierd,"%d",&x.nbage); fclose(fichierd);
ex ;=>incrementation
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 cout<<"Etes vous une femme ou un homme ?"<<endl; cout<<"Cliquez 1 si vous etes une femme"<<endl; cout<<"Cliquez 2 si vous etes un homme"<<endl; cin>>sexe; if(sexe==1){ x.nbfemme=x.nbfemme+1; } if (sexe==2){ x.nbhomme=x.nbhomme+1; }
Ensuite le fichier et réouvert afin de modifier les données en les incrémentant
Or lorsque j exécute mon programme mon fichier avec mes données ne prend en compte que les résultats du dernier utilisateur or bien entendu pour ensuite pouvoir afficher des pourcentages il me faut bien sur les résultats de chaque utilisateur or je pensais qu en effectuant une lecture du fichier et en utilisant des incrémentations cela aurait marché or ce n 'est pas le cas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 fichierd=fopen(strcat(d,"donnees.txt"),"w"); fprintf (fichierd,"%d",x.compteur); fputc('\n',fichierd); fprintf (fichierd,"%d",x.nbfemme); fputc('\n',fichierd); fprintf (fichierd,"%d",x.nbhomme); fputc('\n',fichierd); fclose(fichierd);
Je peux vous envoyer le programme si vous souhaitez plus de détails mais j’espère avoir été suffisamment claire
Merci pour idées si vous en avez !
Partager