切换语句,两种类似情况在不同情况下

时间:2018-03-19 21:22:59

标签: c++ switch-statement cin

如果我想创建一个带选项的菜单,那么例如

如果我有两个案例,A和B,那些他们可以选择写C. 作为输入的C和BC应该是不同的东西,而不是冲突。这会怎么样?

char ch;

cout << "Write in command: ";
cin >> ch; 

switch(ch) {
    case 'A': {
        cin >> ch;
        case 'C': cout << "C"; break;
        break;
    }
    case 'B': {
        cin >> ch;
        case 'C': cout << "C"; break;
        break;
    }

}

1 个答案:

答案 0 :(得分:1)

您必须为每个案例使用另一个switch case或if语句。

我个人建议使用if语句,如果你要使用少量的物品,因为另一个开关盒会让我的眼睛变得难看。

嵌套开关盒。

switch(ch) {
    case 'A': {
        cin >> ch;
        switch (ch) {
            case 'C': cout << "C"; break;
        }
        break;
    }
    case 'B': {
        cin >> ch;
        switch (ch) {
            case 'C': cout << "C"; break;
        }
        break;
    }
}

嵌套if语句。

switch(ch) {
    case 'A': {
        cin >> ch;
        if (ch == 'C') {
            std::cout << 'C';   
        }
        break;
    }
    case 'B': {
        cin >> ch;
        if (ch == 'C') {
            std::cout << 'C';   
        }
        break;
    }
}