Input a number #include using namespace std; int main() { int num; cout num; return 0; }

Post on 17-Jan-2016

222 views 0 download

transcript

Input a number#include <iostream>using namespace std;int main(){ int num;

cout << "Enter a number" << endl; cin >> num;

return 0;}

Print positive if greater than 0#include <iostream>using namespace std;int main(){ int num;

cout << "Enter a number" << endl; cin >> num;

if (num >= 0) cout << "positive" << endl;

return 0;}

Enter 5 => positiveEnter -5 => no output

Add ;#include <iostream>using namespace std;int main(){ int num;

cout << "Enter a number" << endl; cin >> num;

if (num >= 0); cout << "positive" << endl;

return 0;}

Add ;#include <iostream>using namespace std;int main(){ int num;

cout << "Enter a number" << endl; cin >> num;

if (num >= 0); cout << "positive" << endl;

return 0;}Enter 5 => positiveEnter -5 => positiveWhy?

Add ;#include <iostream>using namespace std;int main(){ int num;

cout << "Enter a number" << endl; cin >> num;

if (num >= 0) ; cout << "positive" << endl;

return 0;}Enter 5 => positiveEnter -5 => positiveWhy? ; is null statement

Print if negative also

Print if negative also#include <iostream>using namespace std;int main(){ int num;

cout << "Enter a number" << endl; cin >> num;

if (num >= 0) cout << "positive" << endl; else cout << "negative" << endl; return 0;}

Print if negative also#include <iostream>using namespace std;int main(){ int num;

cout << "Enter a number" << endl; cin >> num;

if (num >= 0) cout << "positive" << endl; else cout << "negative" << endl; return 0;}Enter 5 => positiveEnter -5 => negative

Input a number, print if even or odd#include <iostream>using namespace std;int main(){ int num;

cout << "Enter a number" << endl; cin >> num;

return 0;}

Input a number, print if even or odd#include <iostream>using namespace std;int main(){ int num;

cout << "Enter a number" << endl; cin >> num;

if (xxxx) cout >> "even" << endl; else cout <<"odd" << endl;

return 0;}

Input a number, print if even or odd#include <iostream>using namespace std;int main(){ int num;

cout << "Enter a number" << endl; cin >> num;

if (num % 2 == 0) cout >> "even" << endl; else cout <<"odd" << endl;

return 0;}

What is wrong with this solution?#include <iostream>using namespace std;int main(){ int num;

cout << "Enter a number" << endl; cin >> num;

if (num % 2 = 0) cout >> "even" << endl; else cout <<"odd" << endl;

return 0;}

Watch = (assignment) vs == (test for equality)

#include <iostream>using namespace std;int main(){ int num;

cout << "Enter a number" << endl; cin >> num;

if (num % 2 = 0) should be num %2 == 0 cout >> "even" << endl; else cout <<"odd" << endl;

return 0;}

Selection exercises

1. Input an age and print “over the hill” if over 40

2. Input an age and print whether the individual is legal to drink or underage

3. Change the above problem to use a constant

4. Input a temperature and print whether it is freezing or above

5. Input 2 integer values, print out the largest.

constant

1. Declare a variable type name;2. int LEGAL_AGE; //use caps for constants3. const int LEGAL_AGE; //make it constant4. const int LEGAL_AGE = 21; //give it a value

Selection exercises

1. Input an age and print “over the hill” if over 40#include <iostream>using namespace std;int main(){ int age;

cout << "Enter an age" << endl; cin >> age;

if (age >= 40) cout << "Over the Hill" << endl;

return 0;}

2. Input an age and print whether the individual is legal to drink or underage

#include <iostream>using namespace std;int main(){ int age;

cout << "Enter an age" << endl; cin >> age;

if (age >= 21) cout << "Legal to drink" << endl; else cout << "Underage" << endl;

return 0;}

3. Change the above problem to use a constant

#include <iostream>using namespace std;int main(){ int age; const int LEGAL_AGE = 21;

cout << "Enter an age" << endl; cin >> age;

if (age >= LEGAL_AGE) cout << "Legal to drink" << endl; else cout << "Underage" << endl;

return 0;}

//4. Input a temperature and print whether it is freezing or above #include <iostream>using namespace std;int main(){ float temp; const float FREEZING = 32;

cout << "Enter a temperature" << endl; cin >> temp;

if (temp <= FREEZING) cout << "Freezing" << endl; else cout << "Above Freezing" << endl;

return 0;}

//5. Input 2 integer values, print out the largest.#include <iostream>using namespace std;int main(){ int num1; int num2;

cout << "Enter two numbers" << endl; cin >> num1 >> num2;

if (num1 > num2) cout << num1 << " is largest" << endl; else cout << num2 << " is largest" << endl;

return 0;}

//5. Input 2 integer values, print out the largest.#include <iostream>using namespace std;int main(){ int num1; int num2;

cout << "Enter two numbers" << endl; cin >> num1 >> num2;

if (num1 > num2) cout << num1 << " is largest" << endl; else cout << num2 << " is largest" << endl;

return 0;}Enter 5 and 3 => 5 is largestEnter 3 and 5 => 5 is largestEnter 3 and 3 => 3 is largest

What if they are equal?

What if they are equal?//5. Input 2 integer values, print out the largest.#include <iostream>using namespace std;int main(){ int num1; int num2;

cout << "Enter two numbers" << endl; cin >> num1 >> num2;

if (num1 > num2) cout << num1 << " is largest" << endl; else if (num2 < num1) cout << num2 << " is largest" << endl; else cout << "same" << endl; return 0;}

This is better, remove whitespace//5. Input 2 integer values, print out the largest.#include <iostream>using namespace std;int main(){ int num1; int num2;

cout << "Enter two numbers" << endl; cin >> num1 >> num2;

if (num1 > num2) cout << num1 << " is largest" << endl; else if (num2 < num1) cout << num2 << " is largest" << endl; else cout << "same" << endl; return 0;}

//input a number, print if positive, negative, or zero#include <iostream>using namespace std;int main(){ int num;

cout << "Enter a number" << endl; cin >> num;

if (num > 0) cout << "positive" << endl; else if (num < 0) cout << "negative" << endl; else cout << "zero" << endl; return 0;}

Better if (num > 0) cout << "positive"; else if (num < 0) cout << "negative";else cout << "zero";

Less efficient, why?if (num > 0) cout << "positive"; if (num < 0) cout << "negative";if (num == 0) cout << "zero";

• Calculate pay• What if your work overtime?• Time and a half for overtime• Overtime is over 40 hours• Double overtime is over 60 hours

Hint

• Calculate regular pay first

//calculate regular pay first#include <iostream>using namespace std;int main(){ float payRate; float hrsWorked; float totalPay;

cout << "enter hours worked" << endl; cin >> hrsWorked; cout << "enter pay rate" << endl; cin >>payRate;

if (hrsWorked <= 40) { totalPay = hrsWorked * payRate; cout << "totalpay is " << totalPay << endl; } return 0;}

Next hint:Add variables regPay, otPayNext calculation is hours less than 60, regular overtime

float payRate; float hrsWorked; float totalPay; float regPay; float otPay;

cout << "enter hours worked" << endl; cin >> hrsWorked; cout << "enter pay rate" << endl; cin >>payRate;

if (hrsWorked <= 40) { totalPay = hrsWorked * payRate; cout << "totalpay is " << totalPay << endl; } else if (hrsWorked <= 60) { regPay = ?? otPay = ?? totPay = ?? cout << ??? }

float payRate; float hrsWorked; float totalPay; float regPay; float otPay;

cout << "enter hours worked" << endl; cin >> hrsWorked; cout << "enter pay rate" << endl; cin >>payRate;

if (hrsWorked <= 40) { totalPay = hrsWorked * payRate; cout << "totalpay is " << totalPay << endl; } else if (hrsWorked <= 60) { regPay = 40 * payRate; // regular pay otPay = (hrsWorked – 40) * payRate; // overtime pay totPay = ?? cout << ??? }

float payRate; float hrsWorked; float totalPay; float regPay; float otPay;

cout << "enter hours worked" << endl; cin >> hrsWorked; cout << "enter pay rate" << endl; cin >>payRate;

if (hrsWorked <= 40) { totalPay = hrsWorked * payRate; cout << "totalpay is " << totalPay << endl; } else if (hrsWorked <= 60) { regPay = 40 * payRate; // regular pay otPay = (hrsWorked – 40) * payRate; // overtime pay totPay = regPay + otPay; cout << ??? }