Demander oui/non à l'utilisateur

Résolu
BlueStar21 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -  
BlueStar21 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
je débute en programmation. Voici ce que je souhaitais faire: afficher "coucou !" puis demander à l'utilisateur s'il souhaite ou non que le programme recommence. Seulement, ma structure if... else ne fonctionne pas!
Voici le code:

#include <iostream>
using namespace std;
#include <string>

int main ()
{
cout<<"Coucou !"<<endl;

cout<<"Voulez-vous recommencer le programme ? (oui/non)"<<endl;
bool reponse ("oui"||"non");
if (reponse == "oui")
{
cout<<"ok, c'est parti ! "<<endl;
//et le programme recommence
}
else if (reponse=="non")
{
cout<<"Fin du programme"<<endl;
//et le programme s'arrête ici
}
else
{
cout<<"Erreur: vous devez dire oui ou non"<<endl;
}
return 0;
}

Pouvez-vous m'indiquer quelles sont les erreurs ?
Merci d'avance !

1 réponse

[Dal] Messages postés 6205 Date d'inscription   Statut Contributeur Dernière intervention   1 105
 
Salut BlueStar21,

Je ne vois pas trop ce que tu veux faire en écrivant
bool reponse ("oui"||"non");
et ce n'est, en tout cas pas une syntaxe connue de mon compilateur C++.

Tu ne demandes pas de saisie à l'utilisateur.

Comme tu fais des comparaisons du genre
if (reponse == "oui")
, je suppose que reponse est de type string.

Il te faut une boucle pour répéter l'affichage, la demande de saisie et les tests autant que nécessaire, en gérant le cas où l'utilisateur tape autre chose que exactement "oui" ou "non" en minuscules.

Quelque chose comme cela fonctionnera mieux :

#include <iostream>
using namespace std;
#include <string>

int main ()
{
        string reponse;
        do {
                cout<<"Coucou !"<<endl;

                cout<<"Voulez-vous recommencer le programme ? (oui/non)"<<endl;
                cin>>reponse;

                if (reponse == "oui") {
                        cout<<"ok, c'est parti ! "<<endl;
                } else if (reponse == "non") {
                        cout<<"Fin du programme"<<endl;
                } else {
                        cout<<"Erreur: vous devez dire oui ou non... "
                        "par mesure de précaution, je vous repose la"
                        "même question."<<endl;
                }
        } while (reponse != "non");
        return 0;
}



Dal
6
BlueStar21 Messages postés 8 Date d'inscription   Statut Membre Dernière intervention  
 
Bonjour !

Merci beaucoup pour ta réponse ! Après avoir étudié ta correction, je trouve le code effectivement bien plus simple et compréhensible.

Bonne journée,

BlueStar21
0