Un problème en c++

Fermé
zematex Messages postés 111 Date d'inscription mercredi 10 janvier 2018 Statut Membre Dernière intervention 3 juillet 2018 - Modifié le 6 mai 2018 à 18:30
zematex Messages postés 111 Date d'inscription mercredi 10 janvier 2018 Statut Membre Dernière intervention 3 juillet 2018 - 8 mai 2018 à 11:25
Bonjour,
Alors je vous montre pour commencer mon code :
#include "stdafx.h"
 #include <iostream>
 using namespace std;
 int main()
 {
enum class choixdumenu 
 {
jouer = 'j',
 quitter = 'q',
 incorrect 
 };
 auto choix(static_cast<char>(choixdumenu::jouer));
 int saisiechoix;
 cin >> saisiechoix;
 if (saisiechoix == static_cast<char>(choixdumenu::jouer)|| saisiechoix == static_cast<char>(choixdumenu::quitter))
 {
  choix = static_cast<choixdumenu>(saisiechoix);
 }
 else
 {
 choix = choixdumenu::incorrect;
}
 
switch (choix)
{
case static_cast<char>(choixdumenu::jouer): 
cout << "ok lol c'est jouer" << endl;
 break;
case static_cast<char>(choixdumenu::quitter):
 cout << " ok lol c'est quitter" << endl;
 break;
default:
cout << "ok lol c'est default " << endl;
break;
 }
system("pause");
return 0;
}

Alors j'ai un problème à la ligne 17 et 21 et éxactement au égal quand je met ma sourie deçus (pour afficher le problème) ça me met ça : impossible d'assigner une valeur de type"choixdumenu" dans une entitée de type "char".
Donc voila si vous avez la réponse et un peu de temps je vous remerci :).

EDIT : Ajout des balises de code (la coloration syntaxique).
Explications disponibles ici : ICI

Merci d'y penser dans tes prochains messages.

1 réponse

Utilisateur anonyme
Modifié le 6 mai 2018 à 21:34
Bonjour,

comme ceci peut-être :

#include <iostream>

using namespace std;

int main() {

    enum class Choixdumenu {
        jouer = 'j',
        quitter = 'q',
        incorrect,
    };

    Choixdumenu choix;
    char saisiechoix;

    cin >> saisiechoix;

    if (saisiechoix == static_cast<char>(Choixdumenu::jouer) || saisiechoix == static_cast<char>(Choixdumenu::quitter)) {
        choix = static_cast<Choixdumenu >(saisiechoix);
    } else {
        choix = Choixdumenu::incorrect;
    }

    switch (choix) {
        case Choixdumenu::jouer:
            cout << "ok lol c'est jouer" << endl;
            break;
        case Choixdumenu::quitter:
            cout << " ok lol c'est quitter" << endl;
            break;
        default:
            cout << "ok lol c'est default " << endl;
            break;
    }
   // system("pause");
    return 0;
}
0
zematex Messages postés 111 Date d'inscription mercredi 10 janvier 2018 Statut Membre Dernière intervention 3 juillet 2018
8 mai 2018 à 11:23
ok merci je n'ai plus d'erreur mais à la ligne 13 je comprend pas pourquoi et comment tu à créé "choix",

ZEMATEX
0
zematex Messages postés 111 Date d'inscription mercredi 10 janvier 2018 Statut Membre Dernière intervention 3 juillet 2018
8 mai 2018 à 11:25
Enfaite mon code marche mais je ne comprend pas aussi pourquoi j'ai eut ces deux erreurs (les egales).
0