how do I use an enum value on a switch statement in C++

后端 未结 8 1326
独厮守ぢ
独厮守ぢ 2020-12-02 20:16

I would like to use an enum value for a switch statement. Is it possible to use the enum values enclosed in \"{}\" as cho

8条回答
  •  余生分开走
    2020-12-02 20:27

    You can use a std::map to map the input to your enum:

    #include 
    #include 
    #include 
    using namespace std;
    
    enum level {easy, medium, hard};
    map levels;
    
    void register_levels()
    {
        levels["easy"]   = easy;
        levels["medium"] = medium;
        levels["hard"]   = hard;
    }
    
    int main()
    {
        register_levels();
        string input;
        cin >> input;
        switch( levels[input] )
        {
        case easy:
            cout << "easy!"; break;
        case medium:
            cout << "medium!"; break;
        case hard:
            cout << "hard!"; break;
        }
    }
    

提交回复
热议问题