Поверните оператор Switch в if / then и if / else statement

Я хочу сделать этот оператор switch в if / else и if / then statement. Мой оператор Switch:

char option;
printf("Choose your option : ");
scanf("%c",&option);

switch(option){
    case 'a':
    case 'A': a = 20 + 10 ;
        printf("Addition process result:%d",a);
        break;
    case 'b':
    case 'B': a = 20 - 10 ;
        printf("Subtraction process result:%d",a);
        break;
    case 'c':
    case 'C': a = 20 * 10 ;
        printf("Multiplication process result:%d",a);
        break;
    case 'd':
    case 'D': a = 20 + 10 ;
        printf("Division process result:%d",a);
        break;
    default:
        printf("Invalid option");
    }

Всего 2 ответа


как это:

#include <stdio.h>

int main() {
    char option;
    printf("Choose your option : ");
    scanf("%c",&option);

    if (option == 'a' || option == 'A') {
        int a = 20 + 10;
        printf("Addition process result:%d", a);
    } else if (option == 'b' || option == 'A') {
        int a = 20 - 10;
        printf("Subtraction process result:%d", a);
    } else if (option == 'c' || option == 'C') {
        int a = 20 * 10;
        printf("Multiplication process result:%d", a);
    } else if (option == 'd' || option == 'D') {
        int a = 20 + 10;
        printf("Division process result:%d", a);
    } else {
        printf("Invalid option");
    }
    return 0;
}

Вы просто делаете:

if(option == 'a' || option == 'A') {
    // do whatever
}
else if (option == 'b' || option == 'B') {
    // do whatever
}

... другой, если

то для «недопустимого варианта» у вас есть только else {}. Если первая, если или какая-либо из последующих, если вы оцениваете true, то все остальные будут пропущены.


Есть идеи?

10000