Manipulation des string en C++ avec les conditions

a marqué ce sujet comme résolu.

Bonsoir à tous. Je souhaite manipuler les chaînes de caractères string avec les conditions if. Voici le code

#include <iostream> #include <string> using namespace std; int main() { string bleue,couleur; cout« "Saisir la couleur de ta culotte "«endl ; cin» couleur ; cout«"ta couleur est : "«couleur «endl; if (couleur==bleue) { cout«"bon choix"; } return 0; } A chaque fois que je lance le programme il s’arrête après avoir affiché la couleur. Je voudrais qu’il puisse m’afficher "bon choix" si je saisi la couleur bleue. Quelle modification dois-je apporter ? Merci

Hello, Tu peux utiliser la balise code pour mettre en forme ton code c’est beaucoup plus lisible et ça donne plus envide de t’aider.

Lorsque tu fait à la ligne 5: string bleue, couleur;
Tu crées deux variables qui contiennent "". Ensuite à la ligne 7 tu changes la valeur de couleur.
Et à la ligne 9 tu regardes si la couleur qui a été entré par l’utilisateur est égal à bleue qui vaut "".

Tu as oublié de donner une valeur à ta variable bleue
En changeant la ligne 5 de la manière suivante tu devrais avoir le comportement voulu :string bleue("bleu"), couleur;

+2 -0

Bonjour Napoabdulaziz,

Pour éviter ce type d’erreur, tu pourrais mettre une déclaration par ligne :

...
int main() { 
    string bleue; 
    string couleur; 
    cout« "Saisir la couleur de ta culotte " « endl ; 
...

Ça clarifie la définition de tes variables, et c’est plus visible qu’elles ne sont pas initialisées.

Comme je suis dans les conseilles, je te propose plusieurs choses :

  • Supprime ce "using namespace std;", ça te posera un jour des problèmes. À la place il te suffit de mettre std::string, std::cin, std::cout et std::endl
  • Si contrairement à ce que te propose GBDivers, (car il y aurait une autre raison dans ton code que tu ne nous aurais pas montré), et comme te l’indique d3m0t3p, il te faut une string bleue, indique que c’est une constante.
  • Retarde la déclaration des variables :
int main() { 
    std::cout « "Saisir la couleur de ta culotte " « std::endl ; 
    std::string couleur; 
    std::cin » couleur ; 
    std::cout « "ta couleur est : " « couleur « std::endl; 
    std::string const bleue{"bleue"}; 
    if (couleur==bleue) { 
        std::cout « "bon choix";        
    } 
    return 0; 
}

Bien cordialement

+1 -0

Hello, Tu peux utiliser la balise code pour mettre en forme ton code c’est beaucoup plus lisible et ça donne plus envide de t’aider.

Lorsque tu fait à la ligne 5: string bleue, couleur;
Tu crées deux variables qui contiennent "". Ensuite à la ligne 7 tu changes la valeur de couleur.
Et à la ligne 9 tu regardes si la couleur qui a été entré par l’utilisateur est égal à bleue qui vaut "".

Tu as oublié de donner une valeur à ta variable bleue
En changeant la ligne 5 de la manière suivante tu devrais avoir le comportement voulu :string bleue("bleu"), couleur;

d3m0t3p

Salut, je ne vais pas revenir sur ce qu’on dit les autres mais j’ai une petite remarque, tu utilises using namespace std;, ce qui est une très mauvaise habitude mais qui me fait surtout me poser la question suivante : Quel cours utilises-tu pour apprendre le C++, car si tu utilises le cours d’Open Classroom je ne peux que fortement te recommander de vite changer de cours. Le cours d’Open Classroom est en effet un gouffre à mauvaises pratique et un très mauvais cours en général. Il y a d’ailleurs un très bon cours pour apprendre le c++ sur ce site (juste ici).

+0 -0
Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte