lecture 7: if-else if-else statements

25
LECTURE 7: IF-ELSE IF-ELSE STATEMENTS CSC 107 – Programming For Science

Upload: fawn

Post on 22-Feb-2016

74 views

Category:

Documents


0 download

DESCRIPTION

CSC 107 – Programming For Science. Lecture 7: if-else if-else Statements. if (…) statement. First evaluates expression in parenthesis If expression is true , executes next statement Skips over the statement , when expression is false - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Lecture 7: if-else  if-else  Statements

LECTURE 7:IF-ELSE IF-ELSE STATEMENTS

CSC 107 – Programming For Science

Page 2: Lecture 7: if-else  if-else  Statements

if (…) statement

First evaluates expression in parenthesis If expression is true, executes next

statement Skips over the statement, when expression is

falseint hst = 30, dc = 27;bool gang = (hst > 12) && (dc == 27); if (nyc == dc) cout << “You lie" << endl;if (!gang) cout << "That ain't right." << endl;if (dc > 20); cout << "Huh?"

Page 3: Lecture 7: if-else  if-else  Statements

if (…) statement

First evaluates expression in parenthesis

If expression is true, executes next statement Skips over the statement, when expression

is false This leads to one very common bug

; is statement (a boring statement, but…)

if (dc > 20);cout << "Huh?"

Page 4: Lecture 7: if-else  if-else  Statements

I Want More!

Add opening brace ({) after closing parenthesis Can now write all statements to execute

Add closing brace (}) to show where if ends If expression false, execution restarts at

that point

if (sqrt(x) == 3.0) { cout << "root of x = 3" << endl; cout << "So, x = 9" << endl;}

Page 5: Lecture 7: if-else  if-else  Statements

else statement

Often want to perform one of two actions Execute some statements when condition is

true But when it is false, do some other work Continue as normal afterward, no matter

the path In these cases, can use if-else

statement else must come immediately after if's ;

or } Like if, else should always have {}

Cannot have else without if to start process In C++, there is no problem with if & no else

falsetrue

Page 6: Lecture 7: if-else  if-else  Statements

if - else Examples

if (value > 0) { cout << "Its positive" << endl;} else { value = abs(value);}

if ((year % 4 == 0) && ((year % 100) != 0)) { daysInYear = 366; cout << "Not quite right, but close enough"; cout << endl; leapYear = true;} else { leapYear = false; daysInYear = 365;}

Page 7: Lecture 7: if-else  if-else  Statements

Many Choices

May want to choose from many possibilities

Page 8: Lecture 7: if-else  if-else  Statements

Many Choices

May want to choose from many possibilities Could nest if – else statements inside one anotherif (a > 3) { cout << "a greater than 3" << endl;} else { if (b > 10) { cout << "b greater than 10" << endl; } else { if (c == -23) { cout << "c is equal to -23" << endl; } else { cout << "This really sucks" << endl; cout << "Sorry its stupid" << endl; } }}

Page 9: Lecture 7: if-else  if-else  Statements

Many Choices

May want to choose from many possibilities Could nest if – else statements inside one

another Or easier & nicer if – else if – else statementif (a > 3) { cout << "a greater than 3" << endl;} else if (b > 10) { cout << "b greater than 10" << endl;} else if (c == -23) { cout << "c is equal to -23" << endl;} else { cout << "This really sucks" << endl; cout << "Sorry its stupid" << endl;}

Page 10: Lecture 7: if-else  if-else  Statements

if – else if – else Usage

Must begin with if statement at the start This is required; what would we be saying else to?

Only required part of this entire process Can then have zero or more else ifs

Tests can be anything; do not have to be related

Until one is true, will be examined one-by-one

Execute 1st clause where true expression is found

Only at the very end can have else clause If nothing else matches then else is

executed

Page 11: Lecture 7: if-else  if-else  Statements

if – else if – else Example

if (wealth > 1000000) { cout << "Can I borrow a buck?" << endl;} else if (wealth > 100000) { cout << "Wow, you're comfortable" << endl;} else { cout << "Government bailout!" << endl;} else if (wealth > -100000) { cout << "File for bankruptcy" << endl;} else if (wealth > 10000) { cout << "Could be worse" << endl;} else if (wealth > 0) { cout << "Good luck" << endl;}

Page 12: Lecture 7: if-else  if-else  Statements

if – else if – else Example

if (wealth > 1000000) { cout << "Can I borrow a buck?" << endl;} else if (wealth > 100000) { cout << "Wow, you're comfortable" << endl;} else { cout << "Government bailout!" << endl;} else if (wealth > -100000) { cout << "File for bankruptcy" << endl;} else if (wealth > 10000) { cout << "Could be worse" << endl;} else if (wealth > 0) { cout << "Good luck" << endl;}

Page 13: Lecture 7: if-else  if-else  Statements

if – else if – else Example

if (wealth > 1000000) { cout << "Can I borrow a buck?" << endl;} else if (wealth > 100000) { cout << "Wow, you're comfortable" << endl;} else if (wealth > -100000) { cout << "File for bankruptcy" << endl;} else if (wealth > 10000) { cout << "Could be worse" << endl;} else if (wealth > 0) { cout << "Good luck" << endl;} else { cout << "Government bailout!" << endl;}

Page 14: Lecture 7: if-else  if-else  Statements

if – else if – else Example

if (wealth > 1000000) { cout << "Can I borrow a buck?" << endl;} else if (wealth > 100000) { cout << "Wow, you're comfortable" << endl;} else if (wealth > -100000) { cout << "File for bankruptcy" << endl;} else if (wealth > 10000) { cout << "Could be worse" << endl;} else if (wealth > 0) { cout << "Good luck" << endl;} else { cout << "Government bailout!" << endl;}

Page 15: Lecture 7: if-else  if-else  Statements

if – else if – else Example

if (wealth > 1000000) { cout << "Can I borrow a buck?" << endl;} else if (wealth > 100000) { cout << "Wow, you're comfortable" << endl;} else if (wealth > 10000) { cout << "Could be worse" << endl;} else if (wealth > 0) { cout << "Good luck" << endl;} else if (wealth > -100000) { cout << "File for bankruptcy" << endl;} else { cout << "Government bailout!" << endl;}

Page 16: Lecture 7: if-else  if-else  Statements

Spacing in a Program

C++ ignores spaces in a program This also means where newlines placed

ignored #define & text in quotes major exceptions

to rule This can lead to interesting code

choices

Page 17: Lecture 7: if-else  if-else  Statements

Coding Style

Use consistent size to indent (I use 2 spaces) Not required, but makes it much easier to

read code Indent code within braces ({}) to show

structure If line could or does contain { add to

indentation Decrease indentation each } should be on a

line if, else if, or else line has opening

brace Always use braces to prevent having to fix

bugs Limit space, closing brace on else/else if

line Closing brace on own line otherwise (like at

end)

Page 18: Lecture 7: if-else  if-else  Statements

Coding Style Example

#include <iostream>using namespace std;

int main(void) { int dcScore = 27, hstScore = 30; if (dcScore > hstScore) { cout << "Prof. Hertz happy" << endl; cout << "His team won" << endl; } else { cout << "His team lost." << endl; cout << "He is sad"; dcScore += 100; if (dcScore < hstScore) { cout << "Ouch. That's bad." <<endl; } } cout << "And now code continues" << endl; return 0;}

Page 19: Lecture 7: if-else  if-else  Statements

Coding Style Example

#include <iostream>using namespace std;

int main(void) { int dcScore = 27, hstScore = 30; if (dcScore > hstScore) { cout << "Prof. Hertz happy" << endl; cout << "His team won" << endl; } else { cout << "His team lost." << endl; cout << "He is sad"; dcScore += 100; if (dcScore < hstScore) { cout << "Ouch. That's bad." <<endl; } } cout << "And now code continues" << endl; return 0;}

Page 20: Lecture 7: if-else  if-else  Statements

Coding Style Example

#include <iostream>using namespace std;

int main(void) { int dcScore = 27, hstScore = 30; if (dcScore > hstScore) { cout << "Prof. Hertz happy" << endl; cout << "His team won" << endl; } else { cout << "His team lost." << endl; cout << "He is sad"; dcScore += 100; if (dcScore < hstScore) { cout << "Ouch. That's bad." <<endl; } } cout << "And now code continues" << endl; return 0;}

Page 21: Lecture 7: if-else  if-else  Statements

Coding Style Example

#include <iostream>using namespace std;

int main(void) { int dcScore = 27, hstScore = 30; if (dcScore > hstScore) { cout << "Prof. Hertz happy" << endl; cout << "His team won" << endl; } else { cout << "His team lost." << endl; cout << "He is sad"; dcScore += 100; if (dcScore < hstScore) { cout << "Ouch. That's bad." <<endl; } } cout << "And now code continues" << endl; return 0;}

Page 22: Lecture 7: if-else  if-else  Statements

Coding Style Example

#include <iostream>using namespace std;

int main(void) { int dcScore = 27, hstScore = 30; if (dcScore > hstScore) { cout << "Prof. Hertz happy" << endl; cout << "His team won" << endl; } else { cout << "His team lost." << endl; cout << "He is sad"; dcScore += 100; if (dcScore < hstScore) { cout << "Ouch. That's bad." <<endl; } } cout << "And now code continues" << endl; return 0;}

Page 23: Lecture 7: if-else  if-else  Statements

Coding Style Example

#include <iostream>using namespace std;

int main(void) { int dcScore = 27, hstScore = 30; if (dcScore > hstScore) { cout << "Prof. Hertz happy" << endl; cout << "His team won" << endl; } else { cout << "His team lost." << endl; cout << "He is sad"; dcScore += 100; if (dcScore < hstScore) { cout << "Ouch. That's bad." <<endl; } } cout << "And now code continues" << endl; return 0;}

Page 24: Lecture 7: if-else  if-else  Statements

Your Turn

Get in groups of 3 & work on following activity

Page 25: Lecture 7: if-else  if-else  Statements

For Next Lecture

Read sections 7.4, 7.6 – 7.7 for Thursday What if we want to run multiple clauses? Is something easier for testing lots of

equality? How can we break lots of things?

Week #3 weekly assignment due today If problem takes more than 10 minutes,

TALK TO ME!

Week #4 weekly assignment also on Angel