1 / 28

CS161 Introduction to Computer Science

CS161 Introduction to Computer Science. Topic #5. Today in CS161. Selective Execution if statements Conditional Statements Input Stream Input Buffer, whitespace Program Style. Selective Execution. Most programs are not as simple as converting inches to mm!

kyle
Download Presentation

CS161 Introduction to Computer Science

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. CS161 Introduction to Computer Science Topic #5

  2. Today in CS161 • Selective Execution • if statements • Conditional Statements • Input Stream • Input Buffer, whitespace • Program Style CS161 Topic #5

  3. Selective Execution • Most programs are not as simple as converting inches to mm! • We need to select from alternatives... • think of the ATM example... • this can be done using an if statement • an if allows us to select between 2 choices • for example, we can select one thing or another, depending on the user CS161 Topic #5

  4. if Statements • For example, we can change our inches to mm conversion program, allowing the user to select whether they want to convert from • inches to mm, or mm to inches! • We will give the user a choice... • type ‘m’ to convert to mm • type ‘i’ to convert to inches CS161 Topic #5

  5. if Statements have the form... 1) One alternative: if (logical expression) single C++ statement; char selection; cout << “Enter a selection (m or i): “; cin >> selection; if (selection == ‘q’) cout << “Your selection was incorrect” << endl; CS161 Topic #5

  6. if Statements have the form... 2) Two alternatives: if (logical expression) single C++ statement; else single C++ statement; if (selection == ‘m’) cout <<“Converting inches -> mm”; else cout <<“Converting mm -> inches”; CS161 Topic #5

  7. if Statements have the form... • This means that either the first statement is executed when running your program OR the second statement is executed. BOTH sets of statements are NEVER used. • ONE OR THE OTHER! • If the comparison is true - the first set is used; • If the comparison is false - the second set is used; CS161 Topic #5

  8. if Statements have the form... • When an if is encountered, the logical expression is TRUE if it is non zero. In this case, the statement following the expression is executed. • Otherwise, if the logical expression evaluates to zero it means it is FALSE. In this case, if there is an else the statement following the else is executed. • If there is no else then nothing is done if the logical expression evaluates to zero (FALSE). CS161 Topic #5

  9. if Statements have the form... 3) Two or more alternatives: if (logical expression) single C++ statement; else if (logical expression) single C++ statement; if (selection == ‘m’) cout <<“Converting inches -> mm”; else if (selection == ‘i’) cout <<“Converting mm -> inches”; CS161 Topic #5

  10. Compound if statements... 4) You might want more than a single statement to be executed given an alternative...so instead of a single statement, you can use a compound statement if(logical expression) { Many C++ statements; } else //optional CS161 Topic #5

  11. Example of if Statements #include <iostream> using namespace std; int main() { char selection; //the user’s answer float inches, mm; //prompt for input from the user cout << “Enter i to convert to inches” << “ and m to convert to mm: “; cin >> selection; //get the response CS161 Topic #5

  12. Example of if Statements if (‘m’ == selection) //notice expression! { cout << “Enter the # inches: “; cin >> inches; mm = 25.4 * inches; cout << inches << “in converts to ” << mm << “ millimeters” << endl; } ••• CS161 Topic #5

  13. Example of if Statements else //selection is not an ‘m’ { cout << “Enter the # millimeters: “; cin >> mm; inches = mm / 25.4; cout << mm << “mm converts to ” << inches << “ inches” << endl; } CS161 Topic #5

  14. Or, use the else if sequence… else if (‘i’ == selection) //selection is not an ‘m’ { cout << “Enter the # millimeters: “; cin >> mm; inches = mm / 25.4; cout << mm << “mm converts to ” << inches << “ inches” << endl; } else cout << “Neither i nor m were selected” << endl; CS161 Topic #5

  15. logical expressions • The comparison operators may be: • Relational Operators: > for greater than < for less than >= for greater than or equal <= for less than or equal • Equality Operators: == for equal to != for not equal to CS161 Topic #5

  16. logical expressions logical expression Logical T/F 5 > 100 0 False 100 > 5 1 True 5 == 200 0 False 10 == 10 1 True 10 = 10 INVALID (BE CAREFUL when checking for equality to use == and not use the assignment operator =) CS161 Topic #5

  17. Input Stream • We can read integers, floating point numbers and characters using the extraction operator • We can’t, however, control what the user types in. • Anything the user types in...goes into the input buffer once they hit the enter (or return) key...regardless of what our programs might want! CS161 Topic #5

  18. Input Stream • Therefore, it is important to prompt users, so they know exactly what they are supposed to type in • And, it is important to understand how input operations behave CS161 Topic #5

  19. Input Stream user @ keyboard • Input Buffer • stores everything • typed by user cin >> variable Memory for our variables CS161 Topic #5

  20. Input Stream abcd<cr> user @ keyboard abcd\n char ch; ‘\n’ is an escape sequence that stands for the carriage return! garbage Memory for ch CS161 Topic #5

  21. Input Stream abcd<cr> user @ keyboard bcd\n char ch; cin >> ch; This skips leading whitespace and reads a single character from the input buffer ‘a’ Memory for ch cin >> ch; CS161 Topic #5

  22. Input Stream • What about integers? int number; cin >> number; • Skips leading whitespace and reads in digits until it gets to a non-digit, from the input buffer. CS161 Topic #5

  23. Input Stream • What about floating point numbers? float inches; cin >> inches; • Skips leading whitespace and reads in digits and optionally one decimal point until it gets to a non-digit or more than one decimal point from the input buffer. CS161 Topic #5

  24. Program Style • The Style of your program is important because by doing it cleanly, you can create programs that are easier to read and easier tocorrect • Style includes... ...indentation ...grouping like elements ...using blank lines ...variables and program names CS161 Topic #5

  25. Poor Program Style #include <iostream> using namespace std; int main() { float celsius; float fahrenheit; cout <<"Please enter” <<“ temperature in Celsius: " <<endl; cin >>celsius; fahrenheit = (celsius * 9.0/5.0) + 32.0; cout <<celsius; cout <<" Celsius = " <<fahrenheit; cout <<" Fahrenheit"; cout <<endl; return 0;} CS161 Topic #5

  26. Better Program Style #include <iostream> using namespace std; //This program converts temperatures…… int main() { float celsius; //temp in celsius float fahr; //temp in Fahrs //Read in the temperature in celsius cout << "Enter temp in Celsius: “ << endl; cin >> celsius; CS161 Topic #5

  27. Better Program Style //Convert celsius to fahrenheits fahr = (celsius * 9.0 / 5.0) + 32.0; //Print the results cout << celsius << " Celsius = " << fahr; cout << " Fahrenheit" << endl; return 0; } CS161 Topic #5

  28. CS161 Introduction to Computer Science Program #2

More Related