Although there is nothing wrong with the program fragment in
Segment 416, you can rewrite it, with a gain in elegance and
clarity, by substituting what is called a switch
statement for
the if--else--if--else
combination.
The purpose of a switch
statement is
to execute a particular sequence of statements according to the value of an
expression that produces a number belonging to any of the integral types.
Then, in most switch
statements, integer constants and corresponding
statement sequences are sandwiched between a case
symbols on one end
and a break
statements on the other,
with a colon separating the constant integer and the statement
sequence:
switch (integer-producing expression) { case integer constant 1: statements for integer 1 break; case integer constant 2: statements for integer 2 break; ... default: default statements }
When such a switch statement is encountered, the integer-producing
expression is evaluated. The value is compared with the integer constants
found following the case
symbols. As soon as there is a match,
evaluation of the following statements begins; evaluation continues up to
the first break
statement encountered.
The line beginning with the default
symbol is optional. If the
expression produces an integer that fails to match any of the case
integer constants, the statements following the default
symbol are
executed.
If there is no match and no default
symbol, no statements are
executed.