top of page

Switch Statement in C++

The switch statement allows us to execute one code block among many alternatives.


You can do the same thing with the if...else..if ladder. However, the syntax of the switch statement is much easier to read and write.


The C++ switch statement executes one statement from multiple conditions. It is like if-else-if ladder statement in C++.


The expression is evaluated once and compared with the values of each case label.

  • If there is a match, the corresponding statements after the matching label are executed. For example, if the value of the expression is equal to constant2, statements after case constant2: are executed until break is encountered.

  • If there is no match, the default statements are executed.

If we do not use break, all statements after the matching label are executed.

By the way, the default clause inside the switch statement is optional


Syntax:

switch(expression){      
case value1:      
 //code to be executed;     
 break;    
case value2:      
 //code to be executed;     
 break;    
......      
 
default:       
 //code to be executed if all cases are not matched;     
 break;    
}    

Example:

// Program to create a simple calculator
#include <stdio.h>
int main() {
    char operator;
    double n1, n2;

    printf("Enter an operator (+, -, *, /): ");
    scanf("%c", &operator);
    printf("Enter two operands: ");
    scanf("%lf %lf",&n1, &n2);

    switch(operator)
    {
        case '+':
            printf("%.1lf + %.1lf = %.1lf",n1, n2, n1+n2);
            break;

        case '-':
            printf("%.1lf - %.1lf = %.1lf",n1, n2, n1-n2);
            break;

        case '*':
            printf("%.1lf * %.1lf = %.1lf",n1, n2, n1*n2);
            break;

        case '/':
            printf("%.1lf / %.1lf = %.1lf",n1, n2, n1/n2);
            break;

        // operator doesn't match any case constant +, -, *, /default:
            printf("Error! operator is not correct");
    }

    return 0;
}

Output:

Enter an operator (+, -, *,): -
Enter two operands: 32.5
12.4
32.5 - 12.4 = 20.1


Source: Javapoint


Sofia Sondh

The Tech Platform



0 comments
bottom of page