Presentation is loading. Please wait.

Presentation is loading. Please wait.

1 Engineering Problem Solving With C++ An Object Based Approach Chapter 3 Control Structures.

Similar presentations


Presentation on theme: "1 Engineering Problem Solving With C++ An Object Based Approach Chapter 3 Control Structures."— Presentation transcript:

1

2 1 Engineering Problem Solving With C++ An Object Based Approach Chapter 3 Control Structures

3 2 Structured Programming Sequence Selection Repetition yesno yes no

4 3 Boolean Expressions

5 4 Relational Operators ==equality !=non equality <less than >greater than <=less than equal to >=greater than equal to

6 5 Logical Operators !not &&and ||or

7 6 Operator Precedence 1. >=(relational operators) 2.== !=(logical operators) 3.&&(…) 4.||(…)

8 7  (-6 =10)  (3.0 >= 2.0) || (3.0 >= 4.0)  (3.0 >= 2.0) && (3.0 >= 4.0) true && true results in true Practice! - evaluate true || false results in true true && false results in false

9 8 Selection Statements

10 9 if if else switch

11 10 The if statement if(expression) statement; //single statement executed //if expression is true if(expression) { //statements inside {} are //executed if expression is true statement1; statement2; … statement n; }

12 11 The if statement - examples if (x>0) k++; if(x>0) { x=sqrt(x); k++; }

13 12 The if - else statement if(expression) statement; else statement; if(expression) { statement block } else { statement block }

14 13 The nested if-else if(x > y) if(y < z) k++; else m++; else j++;

15 14 Practice! int x=9, y=7, z=2, k=0, m=0, j=0; if(x > y) if(y >z && y>k) k++; else m++; else j++; What are the values of j, k and m? j is 0, k is 1, m is 0

16 15 The switch statement switch(expression) { case constant: statement(s); break; case constant: statement(s); break; /* default is optional*/ default: statement(s); }

17 16 The switch statement Expression must be of type integer or character The keyword case must be followed by a constant break statement is required unless you want all subsequent statements to be executed.

18 17 switch statement example char ch; int ecount=0, vowels=0, other=0; cin.get(ch); while(!cin.eof()) { switch(ch) {case ‘e’: ecount++; case ‘a’: case ‘i’: case ‘o’: case ‘u’: vowels++; break; default: other++; }//end switch cin.get(ch); }//end while cout << ecount << “ e’s, ” << vowels << “ vowels, and ” << other << “ other characters. “ << endl;

19 18 Practice! Convert these nested if/else statements to a switch statement : if (rank==1 || rank==2) cout << "Lower division \n"; else { if (rank==3 || rank==4) cout << "Upper division \n"; else { if (rank==5) cout << "Graduate student \n"; else cout << "Invalid rank \n"; }

20 19 Practice Solution! switch(rank) { case 1: case 2: cout << "Lower division \n"; break; case 3: case 4: cout << "Upper division \n"; break; case 5: cout << "Graduate student \n"; break; default: cout << "Invalid rank \n"; }//end switch

21 20 Repetition Statements

22 21 The while statement while (condition) statement; while (condition) { statement block } yes no

23 22 The do/while statement do statement; while (condition) do { statement block } while (condition) yes no

24 23 Practice! #include using namespace std; int main() { int n=4; while(n>0) { cout << n << endl; n--; } cout << “value of n outside while is “ << n << endl; return 0; } Output? Program Trace

25 24 The for statement initalize test increment/ decrement true statement(s)

26 25 The for statement for(initialization; test; increment/decrement) statement; for(initialization; test; increment/decrement) { statement; }

27 26 The for statement - examples //sum integers from 1 to 10 int sum =0; for(int I=1;I<=10;I++) sum = sum + I; //sum odd integers from 1 to 10 int sum =0; for(int I=1;I<=10;I+=2) sum = sum + I;

28 27 Practice! Determine the number of times that each of the following for loops is executed. for (k=3; k<=10; k++) { statements; } for (k=3; k<=10; ++k) { statements; } for (count=-2; count<=10; count++) { statements; }

29 28 The break statement break; –terminates loop –execution continues with the first statement following the loop

30 29 The continue statement continue; –forces next iteration of the loop, skipping any remaining statements in the loop

31 30 Practice! What is the output? #include using namespace std; int main() { for(int i=0; i<10; i++) { if(i%2) { continue; }//end if cout << i << endl; }//end for return 0; }//end main 0246802468

32 31 Practice! What is the output? #include using namespace std; int main() { for(int i=0; i<10; i++) { if(i%2) { break; }//end if cout << i << endl; }//end for return 0; }//end main 0

33 32 Practice! //This while loop calculates n! int nfact=1, n; cout << “enter positive integer “; cin >> n; while(n > 0) { nfact = nfact*n; n--; } cout << n “! = “ << nfact;.. Write a for loop to replace the while loop


Download ppt "1 Engineering Problem Solving With C++ An Object Based Approach Chapter 3 Control Structures."

Similar presentations


Ads by Google