C++ Programming

Download Report

Transcript C++ Programming

PEG200/Saidatul Rahah
1

Selection Criteria
› if..else statement
› relational operators
› logical operators
The if-then-else Statement
 Nested if Statements
 The switch Statement


Applications
PEG200/Saidatul Rahah
2

if-else statement:
implements a decision
structure for two
alternatives
true
Syntax:
if (condition)
statement executed if
condition is true;
else
statement executed if
condition is false;
PEG200/Saidatul Rahah
false
3

Relational expression: compares two
operands or expressions using relational
operators
PEG200/Saidatul Rahah
4

Relational Operators:
› True  1
› False  0
Expression
Value
Interpretation
Comment
“Hello”>”Goodbye”
1
true
The first ‘H’ in ‘Hello’ is
greater than ‘G’ in
‘Goodbye’
“SMITH” > “JONES”
1
True
The first ‘S’ in SMITH is greater
than ‘J’ in JONES.
“Behop”>”Beehive”
1
True
The 3rd char., ‘h’ is “Behop”
is greater than the 3rd char.
‘e’ in “Beehive”
PEG200/Saidatul Rahah
5

Logical Operators
AND
&&
OR
||
NOT
!
condition is true only if both
expressions are true
condition is true if either one
or both of the expressions is
true
changes an expression to its
opposite state; true
becomes false, false
becomes true
PEG200/Saidatul Rahah
6
p
T
T
F
q
T
F
T
p&&q
T
F
F
p||q
T
T
T
!p
F
F
T
F
F
F
F
T
PEG200/Saidatul Rahah
7

Precedence and Associativity of Operators
(Table 4.2 page 190)
PEG200/Saidatul Rahah
8

Using parentheses, determine the value
of the following expression, assuming
Note: Show your work
6 % 2 * 4 > 5 || 2 % 2 * 6 < 7 && 4 > 2
PEG200/Saidatul Rahah
9
1pt parentheses
((((6 % 2) * 4) > 5) || (((2 % 2) * 6) < 7) && (4 > 2)))
(((0 * 4) > 5 ) || ((0 * 6) < (7 && 1))
((0 > 5) || (0 < 7 && 1)
(0 || 1 && 1) 2pt for the working flow
0 || 1
1
1pt for answer
PEG200/Saidatul Rahah
10
if-else performs
instructions based on the
result of a comparison
false
 Place statements on
separate lines for readability
Syntax:

PEG200/Saidatul Rahah
true
11
#include <iostream>
int main()
{
int number = 5;
int guess;
cout << "I am thinking of a number between 1 and 10" <<
endl;
cout << "Enter your guess, please ";
cin >> guess;
if (guess == number)
{
cout << "Incredible, you are correct" << endl;
}
else
{
cout << "Sorry, try again" << endl;
}
return 0;
}
PEG200/Saidatul Rahah
12
 Compound
statement: a sequence of
single statements contained between
braces, creating a block of
statements
 Any variable declared within a block
is usable only within that block
 Scope: the area within a program
where a variable can be used; a
variable’s scope is based on where
the variable is declared
PEG200/Saidatul Rahah
13
PEG200/Saidatul Rahah
14

Write the appropriate if statements for
each of the following conditions:
› If the slope is less than 0.5 set the variable
flag to zero, else set flag to one.
› If x is greater than y and z is less than 20,
read in a value for p.
› If distance is greater than 20 and it less than
35, read in a value for time.
PEG200/Saidatul Rahah
15

Nested if
statement: an ifelse statement
completely
contained within
another if-else
true
false
false
true
true
false
PEG200/Saidatul Rahah
16

General form of an if-else chain
if(gender ==‘f’)
cout<< “Female”;
else if (gender==‘m’)
cout<< “Male”;
else
cout<< “An invalid
code for gender was
entered”;
PEG200/Saidatul Rahah
17
#include <iostream>
int main()
{ int number = 5;
int guess;
}
cout << "I am thinking of a number between 1 and 10" << endl;
cout << "Enter your guess, please ";
cin >> guess;
if (guess == number)
{
cout << "Incredible, you are correct" << endl;
}
else if (guess < number)
{
cout << "Higher, try again" << endl;
}
else
{
cout << "Lower, try again" << endl;
}
return 0;
PEG200/Saidatul Rahah
18

An angle is considered acute if it less
than 90 degrees, obtuse if it greater than
90 degrees, and a right angle if it is equal
to 90 degrees. Using this information,
write a C++ program that accepts an
angle, in degrees, and displays the type
of angle corresponding to the degrees
entered.
PEG200/Saidatul Rahah
19





switch statement: provides for one
selection from many alternatives
switch keyword starts the statement; is
followed by the expression to be evaluated
case keyword identifies a value to be
compared to the switch expression; when a
match is found, statements in this case
block are executed
All further cases after a match is found are
executed unless a break statement is found
default case is executed if no other case
value matches were found (is optional)
PEG200/Saidatul Rahah
20
switch (gender)
{
case ‘f’: case ‘F’:
cout<< “Female”;
break;
case ‘m’: case ‘M’:
cout<< “Male”;
break;
S1
}
S2
Sn
default:
cout<< “An invalid code
for gender was entered”;
PEG200/Saidatul Rahah
21

Rewrite the following if-else chain using
a switch statement:
if (factor==1)
pressure =25.0;
else if (factor==2)
pressure =36.0;
else if (factor==3)||if (factor==4)||if(factor==5)
pressure =49.0;
PEG200/Saidatul Rahah
22
•
•
•
Using the assignment operator (=)
instead of the relational operator (==)
for an equality test
Assuming a structural problem with an
if-else causes the error instead of
focusing on the data value being
tested
Using nested if statements without
braces to define the structure
PEG200/Saidatul Rahah
23

Write a program to input a student IQ
and gender. Display “Intelligent Male” if
the student is a male with IQ of at least
100. Display “Not so intelligent Male” if
the student is a male with IQ is less than
100. Display the same message for
female students as well.
 Thank You
for Listening…..
PEG200/Saidatul Rahah
24