If et Else en C++
Résolu
Cytrox
-
overcode Messages postés 119 Date d'inscription Statut Membre Dernière intervention -
overcode Messages postés 119 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Je ne comprends pas grand chose en cours de C++ en ce moment
Et j'aurais besoin d'aide
Pourriez vous me dire ce qui ne va pas dans ce code?
En effet lorsque ce programme s'execute, il ne prend pas en compte la structure "else" et m'affiche le "Bien joue ca fonctionne" dans tout les cas
Je ne comprends pas grand chose en cours de C++ en ce moment
Et j'aurais besoin d'aide
Pourriez vous me dire ce qui ne va pas dans ce code?
#include <iostream> using namespace std; char mdp; char hello; int main() { cout << "Entrez le mot de passe"; cin >> mdp; if (mdp!=hello) cout << "Bien joue ca fonctionne"; else cout << "T'es nul mais ca fonctionne"; return 0; }
En effet lorsque ce programme s'execute, il ne prend pas en compte la structure "else" et m'affiche le "Bien joue ca fonctionne" dans tout les cas
3 réponses
Salut,
Il y a bien quelques boulettes sur ton programme. Il compile, mais ne fait absolument pas ce que tu désires faire.
Si tu n'as pas encore eu vent des "string" (le type C++ qui désigne les objets chaîne de caractères), voilà une proposition :
Attention : Le mot de passe ne doit pas contenir d'espace et ne peux faire que 19 caractères au maximum.
Sinon, avec les strings :
Note : cette fois pas limitation de taille. Le premier programme est vraiment une plaie (risque de buffer overflow).
J'espère au moins que c'est bien ce que tu voulais faire :)
Il y a bien quelques boulettes sur ton programme. Il compile, mais ne fait absolument pas ce que tu désires faire.
Si tu n'as pas encore eu vent des "string" (le type C++ qui désigne les objets chaîne de caractères), voilà une proposition :
# include <iostream> # include <cstring> using namespace std ; int main() { char entree[20] ; // tableau de caractères pour stocker l'entrée de l'utilisateur char mdp[20] = "cytrox" ; // le mot de passe auquel sera comparée l'entrée cout << "Mot de passe : " ; cin >> entree ; if( strcmp(entree,mdp) != 0 ) cout << "Mot de passe incorrect. Dégage d'ici !" << endl ; else cout << "OK, mot de passe accepté. Bienvenue !" << endl ; return 0 ; }
Attention : Le mot de passe ne doit pas contenir d'espace et ne peux faire que 19 caractères au maximum.
Sinon, avec les strings :
# include <iostream> # include <string> using namespace std ; int main() { string entree ; string mdp = "cytrox" ; cout << "Mot de passe : " ; getline(cin, entree) ; if( entree != mdp ) cout << "Mot de passe incorrect. Dégage d'ici !" << endl ; else cout << "OK, mot de passe accepté. Bienvenue !" << endl ; return 0 ; }
Note : cette fois pas limitation de taille. Le premier programme est vraiment une plaie (risque de buffer overflow).
J'espère au moins que c'est bien ce que tu voulais faire :)