Как связать switch и enum [требует правки]

190
17 апреля 2017, 05:53

Как использовать switch и enum, необходимо сделать интерфейс как в командной строке. При нажатии >add <Фамилия> добавляется фамилия в базу данных. Как связать switch и enum?

/////
enum comands { Add = 1, Remove, List, Relist,Clear, Exit} tst ;
Answer 1
enum State { ADD, REMOVE, ... };  
State state = ...;  
switch(state)  
{  
    case ADD:  
       ...
       break;   
    case REMOVE:  
       ...   
       break;   
}   

В чем проблема?

Answer 2

Вопрос неясен. enumы практически созданы для того, чтобы использоваться в операторе switch-case

#include <iostream>
#include <random>
#include <vector>
#include <algorithm>
#include <chrono>
using namespace std;
enum A { A1, A2, A3, A4, A5 };
void f(A a) {
    switch (a) {
    case A1: cout << "A1" << endl; break;
    case A2: cout << "A2" << endl; break;
    case A3: cout << "A3" << endl; break;
    case A4: cout << "A4" << endl; break;
    case A5: cout << "A5" << endl; break;
    default: cout << "Wrong choice" << endl; break;
    }
}

int main()
{
    vector<A> v = { A1, A2, A3, A4, A5 };
    for (auto el: v)
        f(el);
    cout << "shuffle vector..." << endl;
    unsigned seed = chrono::system_clock::now().time_since_epoch().count();
    shuffle(v.begin(), v.end(), default_random_engine(seed));
    for (auto el: v)
        f(el);
    return 0;
}

Вывод программы:

D:\Qt\build-enums-Desktop_Qt_5_4_1_MinGW_32bit-Release\release>.\enums.exe
A1
A2
A3
A4
A5
shuffle vector...
A2
A3
A1
A5
A4
READ ALSO
Запись в файл ввода с клавиатуры

Запись в файл ввода с клавиатуры

Создаю бинарный файлХочу ввести строку с клавиатуры и поместить в файл

249
Запись log сообщения в файл P7 library

Запись log сообщения в файл P7 library

Как записать сообщение в файл? У меня только создает txt файл и все

886
Ограничение ввода в QTableWidget

Ограничение ввода в QTableWidget

Добрый деньПодскажите, пожалуйста, на примере как сделать так, чтобы можно было вводить в ячейки только {-1,0,1}

518
Встраивание Lua в C++ Qt

Встраивание Lua в C++ Qt

Есть приложение C++ Qt и в него нужно встроить логику, написанную на LuaНашел статью на хабре, в которой описывается как это сделать, но она не первой...

299