Download as pdf or txt
Download as pdf or txt
You are on page 1of 50

Making Decision:

If/Else/Else If Statement
Making Selection:
Switch/Case Statement
Nested If

Copyright 2007 Pearson Education, Inc. Publishing as


Pearson Addison-Wesley

The if Statement

Copyright 2007 Pearson Education,


Inc. Publishing as Pearson AddisonWesley

The if Statement
Allows statements to be conditionally
executed or skipped over
Models the way we mentally evaluate
situations:
"If it is raining, take an umbrella."
"If it is cold outside, wear a coat."

Slide 4- 3

Flowchart for Evaluating a Decision

Slide 4- 4

Flowchart for Evaluating a Decision

Slide 4- 5

The if Statement
General Format:
if (expression)
statement;

Slide 4- 6

if statement what happens


To evaluate:
if (expression)
statement;

If the expression is true, then


statement is executed.
If the expression is false, then
statement is skipped.

Slide 4- 7

(Program Continues)
Slide 4- 8

Slide 4- 9

Flowchart for Lines 21 and 22

Slide 4- 10

if statement notes
Do not place ; after (expression)
Place statement; on a separate line
after (expression), indented:
if (score > 90)
grade = 'A';

Be careful testing floats and doubles


for equality
0 is false; any other value is true
Slide 4- 11

Expanding the if
Statement
Copyright 2007 Pearson Education,
Inc. Publishing as Pearson AddisonWesley

Expanding the if Statement


To execute more than one statement as part of an if
statement, enclose them in { }:
if (score > 90)
{
grade = 'A';
cout << "Good Job!\n";
}
{ } creates a block of code

Slide 4- 13

The ifelse
Statement
Copyright 2007 Pearson Education,
Inc. Publishing as Pearson AddisonWesley

The if/else Statement


Provides two possible paths of execution
Performs one statement or block if the
expression is true, otherwise performs
another statement or block.

Slide 4- 15

The if/else Statement (cont..)


General Format:
if (expression)
statement1;
else
statement2;

// or block
// or block

Slide 4- 16

if/else what happens


To evaluate:
if (expression)
statement1;
else
statement2;
If the expression is true, then statement1 is executed
and statement2 is skipped.
If the expression is false, then statement1 is skipped
and statement2 is executed.

Slide 4- 17

Slide 4- 18

Flowchart for Lines 14 through 18

Slide 4- 19

(Program Continues)
Slide 4- 20

Slide 4- 21

The ifelse if
Statement
Copyright 2007 Pearson Education,
Inc. Publishing as Pearson AddisonWesley

The if/else if Statement


Chain of if statements that test in order until
one is found to be true
Also models thought processes:
If it is raining, take an umbrella,
else, if it is windy, take a hat,
else, take sunglasses

Slide 4- 23

if/else if format
if (expression)
statement1; // or block
else if (expression)
statement2; // or block
.
. // other else ifs
.
else if (expression)
statementn; // or block
Slide 4- 24

(Program Continues)
Slide 4- 25

Slide 4- 26

Using a Trailing
else
Copyright 2007 Pearson Education,
Inc. Publishing as Pearson AddisonWesley

Using a Trailing else


Used with if/else if statement when
none of the expressions are true
Provides default statement/action
Used to catch invalid values, other exceptional
situations

Slide 4- 28

From Program 4-12

Slide 4- 29

The switch Statement

Copyright 2007 Pearson Education,


Inc. Publishing as Pearson AddisonWesley

The switch Statement


Used to select among statements from several
alternatives
In some cases, can be used instead of
if/else if statements

Slide 4- 31

switch statement format


switch (expression) //integer
{
case exp1: statement1;
case exp2: statement2;
...
case expn: statementn;
default:
statementn+1;
}

Slide 4- 32

Slide 4- 33

switch statement requirements


1) expression must be an integer variable or
an expression that evaluates to an integer
value
2) exp1 through expn must be constant
integer expressions or literals, and must be
unique in the switch statement
3) default is optional but recommended
Slide 4- 34

switch statement how it works


1) expression is evaluated
2) The value of expression is compared against exp1
through expn.
3) If expression matches value expi, the program
branches to the statement following expi and continues to
the end of the switch
4) If no matching value is found, the program branches to the
statement after default:

Slide 4- 35

break statement
Used to exit a switch statement
If it is left out, the program "falls through" the
remaining statements in the switch
statement

Slide 4- 36

Slide 4- 37

Slide 4- 38

Using switch with a menu


switch statement is a natural choice for
menu-driven program:
display the menu
then, get the user's menu selection
use user input as expression in switch
statement
use menu choices as expr in case statements

Slide 4- 39

From Program 4-32

Slide 4- 40

Summaries Decision and


Selection Example
using C language
Copyright 2007 Pearson Education,
Inc. Publishing as Pearson AddisonWesley

Decision Structure - IF
Pattern 1

condition

if (condition)
{
statement;
}

This must be a True

True

statement

False

Example 1: Printing a number only if it is a negative

n<0

True
print
n

False

if (n<0)
{
cout << n is << n ;
}

Decision Structure IF / ELSE


Pattern 2

condition

False

statment_2

True

statment_1

if (condition)
{
statement_1;
}
else
{
statement_2;
}

Decision Structure If/Else If/Else


Pattern 3

condition_1

True

statment_1

True

statment_2

False

condition_2

condition_n

False

statment_m

True

statment_n

if (condition_1)
{
statement_1;
}
else if (condition_2)
{
statement_2;
}

else if (condition_n)
{
statement_n;
}
else
{
statement_m;
}

Example 3: Identifying the grade of a score

score>90

True

grade = 'A'

True

grade = 'B'

True

grade = 'C'

True

grade = 'D'

False

score>75

False

score>60

False

score>50

False

grade = 'F'

if (score > 90)


{
grade = 'A';
}
else if (score > 75)
{
grade = 'B';
}
else if (score > 60)
{
grade = 'C';
}
else if (score > 50)
{
grade = 'D';
}
else
{
grade = 'F';
}

Selection Structure Switch/Case


Pattern 5
The conditions must be in this form: expression == value
switch (expr)
{
case val_1 : statement_1;
expr==val_1
True
statment_1
break;
False

expr==val_2

True

statment_2

expr==val_n

True

statment_n

case val_2 :

statement_2;
break;

case val_n :

statement_n;
break;

default:

statement_m;
break;

False

statment_m

Example 4: Printing the description of a grade.

grade=='A'

True

Print
"Excellent"

True

Print
"Very Good

True

Print
"Good"

True

Print
"Adequate"

False

grade=='B'

False

grade=='C'

switch (grade)
{
case 'A :
printf("Excellent!);
break;
case 'B' : printf("Very
good!);
break;

case 'C' : printf("Good);


break;

False

grade=='D'

False

case 'D' :
printf("Adequate);
break;

Print
"Fail"

default
}

: printf("Fail);
break;

Assignment
Draw a flowchart for the program
Coding based on
both if.. Else if and switch case.
Submit on 24 Nov 2016 (3.30pm)

Slide 4- 49

Centroid of common shape in 3D

You might also like