Besoin de conseil
Résolu/Fermé
Thewolf76
Messages postés
37
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
31 décembre 2013
-
30 sept. 2013 à 17:57
Thewolf76 Messages postés 37 Date d'inscription lundi 2 septembre 2013 Statut Membre Dernière intervention 31 décembre 2013 - 2 oct. 2013 à 21:33
Thewolf76 Messages postés 37 Date d'inscription lundi 2 septembre 2013 Statut Membre Dernière intervention 31 décembre 2013 - 2 oct. 2013 à 21:33
4 réponses
thedebian
Messages postés
2
Date d'inscription
mardi 1 octobre 2013
Statut
Membre
Dernière intervention
1 octobre 2013
1 oct. 2013 à 14:03
1 oct. 2013 à 14:03
Salut,
En passant outre les fautes d'orthographe ... Ton if est inutile, tu peux simplifier ta boucle :
En passant outre les fautes d'orthographe ... Ton if est inutile, tu peux simplifier ta boucle :
string motDePasse = "";
cin >> motDePasse;
while( "azerty" != motDePasse ) {
cout << "Le mot de passe entré est incorrect veuillez réessayer" << endl;
cin >> motDePasse;
}
cout << "Bravo le mot de passe est correct" << endl;
Thewolf76
Messages postés
37
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
31 décembre 2013
176
1 oct. 2013 à 14:41
1 oct. 2013 à 14:41
Je comprend ta logique je t'en remercie, et je m'excuse pour mes fautes d'orthographes. Je pensé si ont utilise une boucle do..while, la boucle passe au moins une fois donc pas besoin d'utiliser de valeur négatif pour entrer dans la boucle non?
thedebian
Messages postés
2
Date d'inscription
mardi 1 octobre 2013
Statut
Membre
Dernière intervention
1 octobre 2013
Modifié par thedebian le 1/10/2013 à 14:55
Modifié par thedebian le 1/10/2013 à 14:55
Oui, mais tu auras besoin d'une variable en plus afin de stocker le fait que ce soit la première occurrence de la boucle (pour ne pas afficher "Le mot de passe entré etc..." à la première itération ).
L'autre solution avec un do/while serait de faire un double check, mais les deux solutions ne sont pas très élégantes :
Solution1 :
Solution 2:
L'autre solution avec un do/while serait de faire un double check, mais les deux solutions ne sont pas très élégantes :
Solution1 :
string motDePasse = "";
bool isFirstOccurence = true;
do {
if( !isFirstOccurence ) {
cout << "Le mot de passe entré est incorrect veuillez réessayer" << endl;
}
cin >> motDePasse;
isFirstOccurence = false
} while( "azerty" != motDePasse );
Solution 2:
string motDePasse = "";
do {
cin >> motDePasse;
if( "azerty" != motDePasse ) {
cout << "Le mot de passe entré est incorrect veuillez réessayer" << endl;
}
} while( "azerty" != motDePasse );
Thewolf76
Messages postés
37
Date d'inscription
lundi 2 septembre 2013
Statut
Membre
Dernière intervention
31 décembre 2013
176
2 oct. 2013 à 21:33
2 oct. 2013 à 21:33
D'accord, je te remercie pour tes précieux conseils!