Bonjour, en veulent faire un programme qui affiche du texte selon t'elle demande ; j'ai voulu mettre une sorte de mot de passe pour accéder au programme, mais à chaque fois il me met mot de passe incorrecte alors qu'il est bon :
Pour comparer deux chaines de caractères, on utlise (entre autres mais la plus courante) la fonction strcmp(). Toi, tu compares des adresses, qui sont évidemment différentes.
- Edité par edgarjacobs 17 novembre 2022 à 1:08:44
On écrit "j'ai tort", pas "tord" qui est le verbe "tordre" à la 3ème personne de l'indicatif présent
Tu as deux problèmes. D'abord, fgets() n'enlève pas automatiquement la fin de ligne ('\n'). Tu dois le faire toi-même. Ensuite, ce n'est pas de cette façon qu'on compare deux chaînes. Il faut utiliser la fonction strcmp() Ici, tu compares les adresses des chaînes, pas les valeurs.
Et moi, je ne rafraichit pas assez mon écran ...
- Edité par PierrotLeFou 17 novembre 2022 à 1:15:46
Le Tout est souvent plus grand que la somme de ses parties.
PierrotLeFou a écrit: D'abord, fgets() n'enlève pas automatiquement la fin de ligne ('\n'). Tu dois le faire toi-même.
j'ai refaire entierement mon code d'une autre manière qu'avec strcmp(), ça fonctionne donc bon ; par contre je comprend pas le problème avec fgets() ? moi sa na pas l'air de me mettre un /n :
La ligne suivante sera fausse dès la première valeur car le premier code n'est pas '\0' for (i = 0; code[i] == pass[i] && code[i] == '\0'; i++); Note que le for se termine avec un ';' La condition suivant dit que les premiers caractères sont égaux, rien de plus. Il faut remplacer le '&&' par '||' dans le for.
Le Tout est souvent plus grand que la somme de ses parties.
Vérifier un code
× 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
Le Tout est souvent plus grand que la somme de ses parties.
Le Tout est souvent plus grand que la somme de ses parties.