Demander oui/non à l'utilisateur

Résolu/Fermé
BlueStar21 Messages postés 8 Date d'inscription samedi 16 janvier 2016 Statut Membre Dernière intervention 27 décembre 2016 - 28 janv. 2016 à 13:21
BlueStar21 Messages postés 8 Date d'inscription samedi 16 janvier 2016 Statut Membre Dernière intervention 27 décembre 2016 - 28 janv. 2016 à 18:00
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 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 1 083
28 janv. 2016 à 16:45
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 samedi 16 janvier 2016 Statut Membre Dernière intervention 27 décembre 2016
28 janv. 2016 à 18:00
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