O'Reilly logo

Beginning Programming with C++ For Dummies® by Nat Coalson

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Chapter 7. Switching Paths

In This Chapter

  • Using the switch keyword to choose between multiple paths

  • Taking a default path

  • Falling through from one case to another

Often programs have to decide between a very limited number of options: Either m is greater than n or it's not; either the lug nut is present or it's not. Sometimes, however, a program has to decide between a large number of possible legal inputs. This could be handled by a series of if statements, each of which tests for one of the legal inputs. However, C++ provides a more convenient control mechanism for selecting among a number of options known as the switch statement.

Controlling Flow with the switch Statement

The switch statement has the following format:

switch(expression)
{
  case const1:
    // go here if expression == const1
    break;

  case const2:
    // go here if expression == const2
    break;

  case const3:         // repeat as often as you like
    // go here if expression == const3
    break;

  default:
    // go here if none of the other cases match
}

Upon encountering the switch statement, C++ evaluates expression. It then passes control to the case with the same value as expression. Control continues from there to the break statement. The break transfers control to the } at the end of the switch statement. If none of the cases match, control passes to the default case.

The default case is optional. If the expression doesn't match any case and no default case is provided, control passes immediately to the }.

Consider the following example code snippet: ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required