cs161 introduction to computer science n.
Download
Skip this Video
Loading SlideShow in 5 Seconds..
CS161 Introduction to Computer Science PowerPoint Presentation
Download Presentation
CS161 Introduction to Computer Science

Loading in 2 Seconds...

play fullscreen
1 / 28

CS161 Introduction to Computer Science - PowerPoint PPT Presentation


  • 61 Views
  • Uploaded on

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!

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'CS161 Introduction to Computer Science' - kyle


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
today in cs161
Today in CS161
  • Selective Execution
    • if statements
    • Conditional Statements
  • Input Stream
    • Input Buffer, whitespace
  • Program Style

CS161 Topic #5

selective execution
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

if statements
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

if statements have the form
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

if statements have the form1
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

if statements have the form2
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

if statements have the form3
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

if statements have the form4
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

compound if statements
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

example of if statements
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

example of if statements1
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

example of if statements2
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

or use the else if sequence
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

logical expressions
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

logical expressions1
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

input stream
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

input stream1
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

input stream2
Input Stream

user @

keyboard

  • Input Buffer
  • stores everything
  • typed by user

cin >> variable

Memory for

our variables

CS161 Topic #5

input stream3
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

input stream4
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

input stream5
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

input stream6
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

program style
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

poor program style
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

better program style
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

better program style1
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