1 / 23

Control Structures

Control Structures. Repetition or Iteration or Looping Part I. Open the salesperson file. Print heading on form. Skip 3 lines. Read the first record. Print salesperson’s name. Sequence Print out a sales report. Also called “Straight-Line” Programs. yes. no. sales > quota.

Télécharger la présentation

Control Structures

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Control Structures • Repetition • or • Iteration • or • Looping • Part I

  2. Open the salesperson file Print heading on form Skip 3 lines Read the first record Print salesperson’s name SequencePrint out a sales report Also called “Straight-Line” Programs

  3. yes no sales > quota bonus = 0 bonus=sales*.01 Decision (selection, branching) Sequential prior to if { sequential inside an if } block true false Sequential after an if

  4. Option=1 Option=2 Option=3 Option=4 Switch (Multiple Decision) Can always be written as nested if Assumes no multiple cases, break for each, no default

  5. No More? Yes Comm = Sales*.02 Calculate Pay Print Check Repetition (iteration, looping) false Sequential inside of the loop true After the loop, continue sequentially with next statement

  6. The while Statement • Syntax while (expression) statement Example: count = 1; while (count <= 10) { cout << “Yankees are #1\n”; count = count + 1; } next statement *

  7. The while Statement • Syntax while (expression) statement • a loop control variable is evaluated in the expression • the loop statements contain the lines executed each time the loop repeats

  8. 0 or False Exit the while Test the expression 1 or True loop statements to execute The while Statement

  9. Something to Note Note Note... • count = 1; while (count <= 10) { cout << “Yankees are #1\n”; cout << “and will win the series\n”; } next statement How do we get out? *

  10. The while Statement • loop control variable is initialized before while statement • evaluation or test is performed within the expression • the body may contain any number of statements, including branches and other loops • the control variable is changed during loop execution in order to exit loop • the statement immediately after the while is executed upon exiting * * * * *

  11. A Simple Example • int num;cout << "NUMBER SQUARE CUBE\n" << "------ ------ ----\n"; num = 1; while (num < 11){ cout << setw(3) << num << " " << setw(3) << num * num << " " << setw(4) << num * num * num <<‘\n’; num++; // increment num} * * *

  12. Simple Example Output • NUMBER SQUARE CUBE • ----------------------------------------------------------- • 1 1 1 • 2 4 8 • 3 9 27 • … • 10 100 1000

  13. Another Example • double celsius, fahren;cout << "CELSIUS FAHRENHEIT\n" << "------- ----------\n"; celsius = 5; // starting Celsius value while (celsius <= 50){ fahren = (9.0/5.0) * celsius + 32.0; cout << setw(4) << celsius << setiosflags(ios::showpoint) << setw(13) << setprecision(2) << fahren << '\n'; celsius = celsius + 5;} Note: The text shows CONSTANTS in this program on page 179 * * *

  14. Problem Solving:Finding the Largest Value The program asks for the number of items in the list. Checks to see if that number is positive. Gets user input. Assigns the largest to variable max. * * * *

  15. int count = 0, n = 0; double max = 0, x = 0; • cout << "The maximum value will be computed.\n"; • cout << "How many numbers do you wish to enter? "; cin >> n; • while (n <= 0) { cout << "\nERROR: Positive integer required.\n\n”; cout << "How many numbers to enter? "; cin >> n; } cout << “Enter a real number: “;cin >> x;max = x; // first value to max * * * *

  16. while (count++ < (n-1)) // first n accepted above{ cout << “Enter a real number: “; cin >> x; if (max < x) max = x;} • cout << “Maximum value: “ << max << “\n”;} • OutputThe maximum value will be computed. How many numbers do you wish to enter? 4 Enter a real number: 1.01 Enter a real number: -3 • Enter a real number: 2.2 Enter a real number: 7.07000 Maximum value: 7.07 * * *

  17. n = 5; • count = 0; • cout << “Enter “ << n << … cin >> x;max = x;// count = 0 • while (count++ < (n-1)) • { • 3cout << “LOOP number: “ • cin >> x; • if (max < x) • max = x; • } • cout <<“Max is “<<max; Counter++ loopcount n executed 1 5 1 2 2 3 3 4 4 5 *

  18. Common Use: Running Totals(Accumulator) count =1; // variables must be initialized total = 0; // before loop • while (count <=4){ cout << “Enter a number: “; cin >> num; total = total + num; cout << “The total is “ << total; count++;} *

  19. Common Use: Average count =1; total = 0; float average; • While (count <=4) • { • cout <<“Enter a number ”; • cin >> number; • total += number; • count++; • } • average = total / (count-1); • cout << “The average is “ << average << endl; Why count – 1?

  20. Sentinel Loops – exit controlled by user • Different from fixed-count loops • Actually “variable-condition” loops • User can be asked: “Do you want to continue?” • Or, entry of unusual data value will end loop • Book example: Program 5-8 on page 189 • A grades program, where entry of a grade higher than 100 will exit the loop

  21. Sentinel example • grade = 0; total = 0; • cout << “To stop, type number higher than 100”; • while (grade < 100) • { total = total + grade; • cout << “Enter a grade: “; • cin >> grade; • } • cout << “\nThe total of the grades is “ • << total << endl;

  22. Common Errors Improper braces in nested structures Using = in place of == != versus == This changes the logic, be especially careful when used with && or || infinite loops: != versus && versus || *

More Related