previous | index | next

The switch Statement

An alternative to nested if-else statements is C++'s switch statement.

If different courses of action are to be taken for different integer values, a switch statement is appropriate. Here is a comparison of switch and Racket's cond statement:

(define movie-rating
  (lambda (rating)
    (cond ((= rating 4)
           (display "Excellent"))
          ((= rating 3)
           (display "Good"))
          ((= rating 2)
           (display "Fair"))
          ((= rating 1)
           (display "Crappy"))
          (else
           (display "Invalid rating")))))
void movieRating(int rating) {
  switch (rating) {
  case 4: {
    cout << "Excellent";
    break;
  }
  case 3: {
    cout << "Good";
    break;
  }
  case 2: {
    cout << "Fair";
    break;
  }
  case 1: {
    cout << "Crappy";
    break;
  }
  default:
    cout << "Invalid rating";
  }
}


previous | index | next