C++ switch-case Statements

Advertisements
Advertisements

The switch-case statements are similar to if-else-if construct – a multiple decision maker. It allows you to choose a constant (a switch) that matches with a case (constant) and executes all statements that follow the matched case.

The main difference between if-else-if construct and switch-case is that the if-else-if uses multiple conditions at each level. The switch-case on the other hand, use only constants to choose a case and execute statements. The general format for switch-case is given below.

switch(ch)
{
    case 1:
        statement1;
        statement2;
        break;
    case 2:
        statement3;
        statement4;
        break;
    default:
        statement5;
        break;
}

Points to Remember

  • The switch can only take integer constants, or character constants. Do not use float, expression or strings.
  • Value that follow case must be integer constant or character constant, must not be float, expression or strings.
  • Each case is terminated using break statement.

When to use if-else-if and switch-case?

It is very hard to tell when to use switch-case or if-else-if constructs, but when you have many expressions to test at different level then if-else-if is suitable.

The switch-case is like choosing from a menu, you make a choice with a single character and if a case matches it executes the statements under that case. If no case matches then the default case executes its statements.

Advertisements

For example,

if (num > 100)
{
    do something;
}
else if(num == 100)
{
    do something;
}
else
{
    do something;
}

The above if-else-if code can be implemented using switch-case, but without conditions and only with a constant value.

switch(ch)
{
    case 1:  // num > 100
        do something;
    break;
    case 2: // num == 100
        do something;
    break;
    default: //  num < 100
        do something;
    break;
}

Both are similar, but, for the switch-case we need to write conditions for each case. Hence, if-else-if is more clear and better choice.

Graphical Representation of switch-case

The graphic representation of a program is necessary to understand the algorithm of a C++ program. You can use this diagram to represent a switch-case statement in the program.

switch-case Diagram
switch-case Diagram

Example Program:

// Program to display weekday using switch-case
#include <cstdlib>
#include <iostream>
using namespace std;
int main()
{
    //Variable declaration
    
    int ch;
    
    //Read input value
    
    cout << "Enter a Number between 1 to 7 to Display Weekday:";
    cin >> ch;
    
    //using switch-case to display weekday
    
    switch(ch)
    {
              case 1:
                   cout << "It is Monday" << endl;
                   break;
              case 2:
                   cout << "It is Tuesday" << endl;
                   break;
              case 3:
                   cout << "It is Wednesday"<< endl;
                   break;
              case 4:
                   cout << "It is Thrusday" << endl;
                   break;
              case 5:
                   cout << "It is Friday" << endl;
                   break;
              case 6:
                   cout << "It is Saturday" << endl;
                   break;
              case 7:
                   cout <<"It is Sunday" << endl;
                   break;
              default:
                      cout << "Wrong Input ! Enter number between 1-7" << endl;
                      break;
    }
               
    system("PAUSE");
    return EXIT_SUCCESS;
}

Output:

Enter a Number between 1 to 7 to Display Weekday:5
It is Friday

Bestseller

Object-Oriented Programming with C++ – 8th Edition

Object-oriented programming with C++, 8th edition is here with some valuable updates. The new edition helps students to assess their learning by answering questions based on learning outcomes. Objective-type questions and dry-run questions are introduced to make students exam ready. A new appendix on interview questions is for those seeking to join the industry. The book is designed for students studying at the undergraduate level. It provides all-inclusive concepts and programs on object-oriented programming with C++ as an implementation language.

  • 150+ multi-choice questions
  • 100+ dry-run exercises
  • 90+ interview questions
  • Two new projects and more

Advertisements
Advertisements
Advertisements