Fonction qui cre un mot secret en langage c

kassy -  
 kassy -
Bonjour,
voici une fonction qui permet de creer un mot secret , je voudrais savoir a quoi sert la boucle for dans ce progrmme, merci de bien vouloir m'aider à mieux comprendre cette fonction et merci
174. void creerMotSecret(char *mot) {
175.
176.
177.
178. //Déclaration de nos variables locales
179.
180. FILE *dictionnaire = NULL;
181.
182. int i = 0, positionMot = 0;
183.
184.
185.
186. //Ouverture du fichier en lecture seule
187.
188. dictionnaire = fopen("dictionnaire.dat","r");
189.
190.
191.
192. //On prend un nombre aléatoire savoir la position du mot du dictionnaire que l'on veut
193.
194. //(nombre entre min_position et max_position)
195.
196. srand(time(NULL)); //Initialisation
197.
198. positionMot = (rand() % (MAX_POSITION - MIN_POSITION + 1)) + MIN_POSITION;
199.
200.
201.
202.
203. //On chosit le mot du dico qui est à la position "positionMot"
204.
205. for(i = 0; i<positionMot; i++) {
206.
207. fgets(mot,1000,dictionnaire);
208.
209. }
210.
211.
212.
213. //Fermeture du fichier
214.
215. fclose(dictionnaire);
216.
217.
218.
219. return; //Fonction "void" donc on ne retourne rien

5 réponses

kassy
 
est ce que qlqu'un aurai une idee?
2
kassy
 
merci fiddy j' ai finallemen compris!!
en se ki concerne bigmat ou je c pas koi!! les gens comme toi devrai pas trainer dans des forums respectueux comme celui ci car tu sali l'atmosphere
2
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
positionMot = (rand() % (MAX_POSITION - MIN_POSITION + 1)) + MIN_POSITION;
Cette instruction permet de choisir un nombre pseudo aléatoire compris entre MIN_POSITION et MAX_POSITION.

for(i = 0; i<positionMot; i++) {
Cette instruction sera réalisé tant que i<positionMot. Ainsi lorsque i sera égal à positionMot, la boucle s'arrêtera. Puisqu'à chaque itération i augmente de 1, il y a aura positionMot itérations.

fgets(mot,1000,dictionnaire);
Cette instruction permet de lire une ligne du fichier. Si t'exécutes plusieurs fois cette instruction, cela lira les lignes successivement. Ainsi, vu que fgets se trouve dans la boucle for, tu liras la ligne correspondant au nombre positionMot.
1
fiddy Messages postés 11069 Date d'inscription   Statut Contributeur Dernière intervention   1 846
 
Salut,
205. for(i = 0; i<positionMot; i++) {
206.
207. fgets(mot,1000,dictionnaire);
208.
209. } 

Cette boucle va lire dans dictionnaire.dat une ligne et le stocker dans mot. Et on boucle positionMot fois. Ainsi on aura la ligne numéro positionMot dans le fichier. D'où le mot secret.

219. return; //Fonction "void" donc on ne retourne rien
Instruction complètement inutile dans ce cas ;-))).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
kassy
 
je suis encore debutante et c'est peu etre ce qui fait que je n'ai pas encore compris exactement auriez vous la gentillesse de m'expliquer un peu plus
merci
0
bigmat
 
pourquoi tu ne te contentes plus de ta poupée pour passer le temps ?
0