Bonjour tout le monde. Je viens vers vous parce qu'après avoir cogité pendant pas mal de temps sur le TP2 du cours sur le langage C, le code le plus abouti auquel je suis parvenu est:
Le problème est que lors de l'exécution, même lorsque les deux chaînes "secret" et "word" deviennent égales, le programme ne sort pas de la boucle et continuer à demander des lettres à rentrer. La seule chose à faire pour qu'il en sorte est que le nombre de coups restants "life" atteigne 0. Concrètement ça donne ça:
Où est-ce que je me suis raté ?
Merci d'avance
- Edité par Youssef Emrani 13 janvier 2019 à 1:18:32
Le problème vient de la comparaison des chaînes de caractères !
Chaine1 =! Chaine2 cela veut dire est ce que le pointeur chaine1 est différent du pointeur chaîne2 ( ça sera toujours vrai c'est pour ça que tu sors pas de ta boucle )
Pour comparer des chaînes de caractères, sers toi de strcmp dans string.h strcmp(chaine1,chaîne2) == 0 alors les chaînes sont égales ( je crois )
- Edité par MrsSniperMrsniper 13 janvier 2019 à 8:05:31
1- Qu'est-ce que ça change dans la pratique ? Parce que j'ai essayé les deux, et je ne vois aucune différence. Et j'ai beau chercher (dans la doc etc), je trouve pas grand chose à ce sujet
2- je ferai attention à ce genre de choses la prochaine fois !
3- Oui là c'est juste parce que ma touche tab est morte, donc j'ai du mal à me faire la main correctement pour écrire des choses propres. Mais je compte m'améliorer sur ce point-là aussi
1- Dans la pratique, getchar() peut renvoyer EOF, et EOF vaut en général (int)-1, valeur qu'un char ne peut pas contenir. Même principe pour toupper().
3- Petit truc en ce cas: appuyer sur la touche ALT et la maintenir enfoncée, taper ensuite 0 (zéro) et 9, puis relâcher la touche ALT: un tab est généré (ça marche même dans l'éditeur d'oc !)
- Edité par edgarjacobs 14 janvier 2019 à 22:20:21
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Je vois, merci beaucoup ! Il est temps de mettre le sujet en résolu du coup !
Problème avec le pendu en C
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent