chapter 5: control structures i (selection). objectives in this chapter you will: learn about...
TRANSCRIPT
![Page 1: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/1.jpg)
Chapter 5: Control Structures I (Selection)
![Page 2: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/2.jpg)
ObjectivesIn this chapter you will:Learn about control structuresExamine relational and logical operatorsExplore how to form and evaluate logical
(Boolean) expressionsDiscover how to use the selection control
structures if, if...else, and switch in a program
2
![Page 3: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/3.jpg)
bool DatatypeThe bool Data Type
The data type bool has logical (Boolean) values true and false
bool, true, and false are reserved words
The identifier true has the value 1
The identifier false has the value 0
Declaration: bool hasFever;
bool isSenior;
3
![Page 4: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/4.jpg)
Control StructuresA computer can proceed:
In sequenceSelectively (branch) - making a choiceRepetitively (iteratively) - looping
Some statements are executed only if certain conditions are met
A condition is represented by a logical (Boolean) expression that can be true or false
A condition is met if it evaluates to true
4
![Page 5: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/5.jpg)
5
![Page 6: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/6.jpg)
Relational OperatorsRelational operators:
Allow comparisons
Require two operands (binary)
Return 1 if expression is true, 0 otherwise
Comparing values of different data types may produce unpredictable resultsFor example, 8 < '5' should not be done
Any nonzero value is treated as true
6
![Page 7: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/7.jpg)
7
![Page 8: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/8.jpg)
8
![Page 9: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/9.jpg)
are used in expressions of form:
ExpressionA Operator ExpressionB
temperature > humidityrain >= averageB * B - 4.0 * A * C < 0.0hours <= 40abs (number) == 35initial != ‘Q’
Relational Operators
![Page 10: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/10.jpg)
Givenint x, y;x = 4;y = 6;
Expression Value
x < y true
x + 2 < y false
x != y true
x + 3 >= y true
y == x false
y == x+2 true
y = x + 3 7 (true)
![Page 11: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/11.jpg)
Comparing string TypesRelational operators can be applied to strings
Strings are compared character by character, starting with the first character
Comparison continues until either a mismatch is found or all characters are found equal
If two strings of different lengths are compared and the comparison is equal to the last character of the shorter stringThe shorter string is less than the larger string
11
![Page 12: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/12.jpg)
string Comparison ExampleSuppose we have the following
declarations:string str1 = "Hello";
string str2 = "Hi";
string str3 = "Air";
string str4 = "Bill";
12
![Page 13: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/13.jpg)
13
![Page 14: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/14.jpg)
14
![Page 15: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/15.jpg)
15
![Page 16: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/16.jpg)
Logical (Boolean) OperatorsLogical (Boolean) operators enable you to
combine logical expressionsThree logical (Boolean) operators:
! - not&& – and|| - or
Logical operators take logical values as operands and yield logical values as results
! is unary; && and || are binary operatorsPutting ! in front of a logical expression
reverses its value
16
![Page 17: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/17.jpg)
17
![Page 18: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/18.jpg)
Logical Expression Meaning Description
! p NOT p ! p is false if p is true
! p is true if p is false
p && q p AND q p && q is true ifboth p and q are true. It is false otherwise.
p || q p OR q p || q is true if either
p or q or both are true. It is false otherwise.
![Page 19: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/19.jpg)
19
![Page 20: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/20.jpg)
20
![Page 21: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/21.jpg)
21
![Page 22: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/22.jpg)
int age; bool isSenior, hasFever;float temperature;
age = 20;temperature = 102.0;isSenior = (age >= 55); // isSenior is falsehasFever = (temperature > 98.6); // hasFever is true
Expression Value
isSenior && hasFever false
isSenior || hasFever true
! isSenior true
! hasFever false
![Page 23: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/23.jpg)
Precedence of OperatorsRelational and logical operators are
evaluated from left to right
The associativity is left to right
Parentheses can override precedence
23
![Page 24: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/24.jpg)
24
![Page 25: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/25.jpg)
Short-Circuit EvaluationShort-circuit evaluation: evaluation of a
logical expression stops as soon as the value of the expression is known
Example:
(age >= 21) || ( x == 5) //Line 1
(grade == ‘A’) && (x >= 7) //Line 2
25
![Page 26: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/26.jpg)
Logical (Boolean) ExpressionsThe bool Data Type and Logical (Boolean)
Expressions
The data type bool has logical (Boolean) values true and false
bool, true, and false are reserved words
The identifier true has the value 1
The identifier false has the value 0
26
![Page 27: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/27.jpg)
27
![Page 28: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/28.jpg)
28
![Page 29: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/29.jpg)
29
![Page 30: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/30.jpg)
Logical (Boolean) Expressions (continued)Logical expressions can be unpredictableThe following expression appears to
represent a comparison of 0, num, and 10:0 <= num <= 10
It always evaluates true because 0 <= num evaluates to either 0 or 1, and 0 <= 10 is true and 1 <= 10 is true
A correct way to write this expression is:0 <= num && num <= 10
30
![Page 31: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/31.jpg)
One-Way (if) SelectionThe syntax of one-way selection is:
if (expression)
statement
Statement is executed if the value of the expression is true
Statement is bypassed if the value is false; program goes to the next statement
31
![Page 32: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/32.jpg)
One-Way (if) Selection (continued)The expression is sometimes called a decision
maker because it decides whether to execute the statement that follows it
The statement following the expression is sometimes called the action statement
The expression is usually a logical expression
The statement is any C++ statement
if is a reserved word
32
![Page 33: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/33.jpg)
33
![Page 34: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/34.jpg)
34
![Page 35: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/35.jpg)
35
![Page 36: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/36.jpg)
36
![Page 37: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/37.jpg)
Two-Way (if…else) SelectionTwo-way selection takes the form:if (expression)
statement1else
statement2If expression is true, statement1 is executed
otherwise statement2 is executedstatement1 and statement2 are any C++
statementselse is a reserved word
37
![Page 38: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/38.jpg)
38
![Page 39: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/39.jpg)
39
![Page 40: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/40.jpg)
40
![Page 41: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/41.jpg)
Compound (Block of) Statement
Compound statement (block of statements):{
statement1;statement2;...statementn;
}A compound statement is a single statement
41
![Page 42: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/42.jpg)
Compound Statement Exampleif (age > 18){cout << "Eligible to vote." < <endl;cout << "No longer a minor." << endl;
} else{cout << "Not eligible to vote.“
<< endl;cout << "Still a minor." << endl;
}
42
![Page 43: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/43.jpg)
Nested ifNesting: one control statement in
anotherAn else is associated with the
most recent if that has not been paired with an else
43
![Page 44: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/44.jpg)
44
![Page 45: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/45.jpg)
45
![Page 46: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/46.jpg)
46
![Page 47: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/47.jpg)
47
![Page 48: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/48.jpg)
Input Failure and the if StatementIf input stream enters a fail state
All subsequent input statements associated with that stream are ignored
Program continues to executeMay produce erroneous results
Can use if statements to check status of input stream
If stream enters the fail state, include instructions that stop program execution
48
![Page 49: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/49.jpg)
switch Structuresswitch structure: alternate to if-else
switch expression is evaluated first
Value of the expression determines which corresponding action is taken
Expression is sometimes called the selector
49
![Page 50: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/50.jpg)
switch Structures (continued)Expression value can be only integral
Its value determines which statement is selected for execution
A particular case value should appear only once
50
![Page 51: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/51.jpg)
51
![Page 52: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/52.jpg)
switch Structures (continued)One or more statements may follow a case
label
Braces are not needed to turn multiple statements into a single compound statement
The break statement may or may not appear after each statement
switch, case, break, and default are reserved words
52
![Page 53: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/53.jpg)
switch Statement RulesWhen value of the expression is matched
against a case value, Statements execute until break statement is
found or the end of switch structure is reached
If value of the expression does not match any of the case valuesStatements following the default label
execute If no default label, and if no match, the entire switch statement is skipped
A break statement causes an immediate exit from the switch structure
53
![Page 54: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/54.jpg)
Programming ExampleThis programming example calculates a
customer’s bill for a local cable company There are two types of customers:
ResidentialBusiness
Two rates for calculating a cable bill: One for residential customersOne for business customers
54
![Page 55: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/55.jpg)
RatesFor residential customer:
Bill processing fee: $4.50Basic service fee: $20.50Premium channel: $7.50 per channel
For business customer:Bill processing fee: $15.00Basic service fee: $75.00 for first 10
connections and $5.00 for each additional connection
Premium channel cost: $50.00 per channel for any number of connections
55
![Page 56: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/56.jpg)
RequirementsAsk user for account number and customer
code
Assume R or r stands for residential customer and B or b stands for business customer
56
![Page 57: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/57.jpg)
Input and OutputInput:
Customer account numberCustomer codeNumber of premium channelsFor business customers, number of basic
service connectionsOutput:
Customer’s account numberBilling amount
57
![Page 58: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/58.jpg)
Program AnalysisThe purpose of the program is to calculate
and print billing amountCalculating the billing amount requires:
Customer for whom the billing amount is calculated (residential or business)
Number of premium channels to which the customer subscribes
For a business customer, you need: Number of basic service connectionsNumber of premium channels
58
![Page 59: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/59.jpg)
Program Analysis (continued)Data needed to calculate the bill, such as bill
processing fees and the cost of a premium channel, are known quantities
The program should print the billing amount to two decimal places
59
![Page 60: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/60.jpg)
Algorithm DesignSet precision to two decimal placesPrompt user for account number and
customer typeIf customer type is R or r
Prompt user for number of premium channelsCompute and print the bill
If customer type is B or bPrompt user for number of basic service
connections and number of premium channelsCompute and print the bill
60
![Page 61: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/61.jpg)
Variables
61
![Page 62: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/62.jpg)
Named Constants
62
![Page 63: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/63.jpg)
FormulasBilling for residential customers:
amountDue = RES_BILL_PROC_FEES +
RES_BASIC_SERV_COST
+ numOfPremChannels *
RES_COST_PREM_CHANNEL;
63
![Page 64: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/64.jpg)
Formulas (continued)Billing for business customers:
if (numOfBasicServConn <= 10) amountDue = BUS_BILL_PROC_FEES + BUS_BASIC_SERV_COST + numOfPremChannels * BUS_COST_PREM_CHANNEL;else amountDue = BUS_BILL_PROC_FEES + BUS_BASIC_SERV_COST + (numOfBasicServConn - 10) * BUS_BASIC_CONN_COST + numOfPremChannels * BUS_COST_PREM_CHANNEL;
64
![Page 65: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/65.jpg)
Main Algorithm1. Output floating-point numbers in fixed
decimal with decimal point and trailing zeros• Output floating-point numbers with two
decimal places, set the precision to two decimal places
2. Prompt user to enter account number3. Get customer account number4. Prompt user to enter customer code5. Get customer code
65
![Page 66: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/66.jpg)
Main Algorithm (continued)6. If the customer code is r or R,
Prompt user to enter number of premium channels
Get the number of premium channels
Calculate the billing amount
Print account number and billing amount
66
![Page 67: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/67.jpg)
Main Algorithm (continued)7. If customer code is b or B,
Prompt user to enter number of basic service connections
Get number of basic service connections Prompt user to enter number of premium
channels Get number of premium channels Calculate billing amount Print account number and billing amount
8. If customer code is other than r, R, b, or B, output an error message
67
![Page 68: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/68.jpg)
SummaryControl structures alter normal control flow
Most common control structures are selection and repetition
Relational operators: ==, <, <=, >, >=, !=
Logical expressions evaluate to 1 (true) or 0 (false)
Logical operators: ! (not), && (and), || (or)
68
![Page 69: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/69.jpg)
Summary (continued)Two selection structures: one-way selection
and two-way selectionThe expression in an if or if...else structure
is usually a logical expressionNo else statement in C++. Every else has a
related ifA sequence of statements enclosed between
braces, { and }, is called a compound statement or block of statements
69
![Page 70: Chapter 5: Control Structures I (Selection). Objectives In this chapter you will: Learn about control structures Examine relational and logical operators](https://reader037.vdocuments.us/reader037/viewer/2022103007/5697bfbf1a28abf838ca3680/html5/thumbnails/70.jpg)
Summary (continued)Using assignment in place of the equality
operator creates a semantic error
switch structure handles multiway selection
break statement ends switch statement
Use assert to terminate a program if certain conditions are not met
70