25
1 CS 1430: Programming in C++

1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

Embed Size (px)

DESCRIPTION

3 Pseudo Code While not end of class Process one section While not end of class While not end of section Process one score

Citation preview

Page 1: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

1

CS 1430: Programming in C++

Page 2: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

2

Find Max, Min, Average of m Sections

Max, Min and Average of each section

Max, Min and Average of all sections together

Page 3: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

3

Pseudo Code

While not end of class Process one section While not end of class While not end of section Process one score

Page 4: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

4

Pseudo CodeInitialize class variables (LCV)While not end of class Initialize section variables (LCV) While not end of section Process one score Update section LCV Process and display section result Process class variables Update class LCVProcess and display class result

Page 5: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

5

Input 50.5 54 39 47.5 -1 50 49.5 52 -1 38 49 -1 50 59.5 53 60 -1 -2

Sentinel-Controlled Loop -1: end of section -2: end of class Range is not known All scores are valid

Page 6: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

6

Pseudo Code

classTotal = 0, classCount = 0Input a score (Prime Read)While score not -2 secTotal = 0 secCoumt = 0 While score not -1 Update secCoumt, secTotal, secMax, secMin Input next score Process and display section result Update classMax, classMin, classCount, classTotal Input next scoreProcess and display class result

Page 7: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

7

// Constants // Before main()const int END_CLASS = -2;const int END_SECTION = -1; int main(){ // Declare variables // Inside main() float score; float classMax, classMin, classTotal; float secMax, secMin, secTotal; int classScoreCount, secScoreCount;

… return 0;}

Page 8: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

8

classTotal = 0.0;classScoreCount = 0;cin >> score; // Prime Read

while (score != END_CLASS){ secTotal = 0; secScoreCount = 0; while (score != END_SECTION) { if (secScoreCount == 0) { secMax = score; secMin = score; } else { if (score > secMax) secMax = score; if (score < secMin) secMin = score; }

secScoreCount ++; secTotal += score;

cin >> score; }

// Display section result

if (classScoreCount == 0) { classMax = secMax; classMin = secMin; } else { if (secMax > classMax) classMax = secMax; if (secMin < classMin) classMin = secMin; }

classTotal += secTotal; classScoreCount += secScoreCount;

cin >> score;}

// Process and display class result

Page 9: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

9

Different Input 4 4 50.5 54 39 47.5 3 50 49.5 52 2 38 49 4 50 59.5 53 60

Count-Controlled Loop Range is known Checking range Ignore invalid scores Can you do it?

Program2!

Page 10: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

10

White Spaces

SpaceTab

Next line…

(Replace Tab with 3 spaces in VS)Tools/Options/Text Editor/C/C++

Tab Size/Ident Size: 3Check “Insert Spaces”

Page 11: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

11

Input Operator >>cout << "What is your input: "; cin >> theInput;

// Operator >> will ignore white spaces // before reading// Operator >> will stop at white spaces// after have read any value

// Input: -50.5 50// What is the value of theInput?// Depending on the type of theInput// But the spaces before “-50.0” will be ignored.

Page 12: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

12

Type char

char theInput;

cout << "What is your input: "; cin >> theInput; // Input: -50.5 50 // Q: What is the value of theInput? // A: _____ // ‘-’ // Not space before ‘-’

Page 13: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

13

Type integerint theInput;

cout << "What is your input: "; cin >> theInput; // Input: -50.5 50// Q: What is the value of theInput?// A: _____// -50// stop at ‘.’, which cannot be part of int

Page 14: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

14

Type float

float theInput;

cout << "What is your input: "; cin >> theInput; // Input: -50.5 50 // Q: What is the value of theInput? // A: _____ // -50.5

Page 15: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

15

Type string

string theInput;

cout << "What is your input: "; cin >> theInput; // Input: -50.5 50 // Q: What is the value of theInput? // A: _____ // -50.5

Page 16: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

16

// Input// CS 143// X

char aChar;int count = 0;

cin >> aChar; // Prime read before loopwhile (aChar != ‘X’){ count ++; cout << aChar;

cin >> aChar;}cout << aChar;cout << “Count: “ << count;

TracingaCharCS143X

Page 17: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

17

Function cin.get()

The function will read one char at a timeIncluding white spaces!

Page 18: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

18

// Input// CS 143// X

char aChar;int count = 0;

cin.get(aChar);// Prime read before loopwhile (aChar != ‘X’){ count ++; cout << aChar; cin.get(aChar);}cout << aChar;cout << “Count: “ << count;

TracingaCharCS-143\nX

Page 19: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

19

Function cin.eof()

The function returns true or falseeof(): end of file

end of input

From keyboard[CTRL-Z]

From FileNot True after reading the last item in the file

True when trying to read after reading the last item in the file

Page 20: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

20

// Input// CS 143// X

char aChar;int count = 0;

cin.get(aChar);// Prime read before loopwhile (!cin.eof()){ count ++; cout << aChar; cin.get(aChar);}cout << aChar;cout << “Count: “ << count;

TracingaChar cin.eof()

C FalseS False- False1 False4 False3 False\n FalseX False ? True

Page 21: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

21

int theInput; int count = 0;

cout << "What is your input: "; cin >> theInput;

while (!cin.eof()) { count ++; cout << "What is your input: "; cin >> theInput; }

cout << theInput;cout << “Count: “ << count;

// Input: 55 50.5 60// What is the value of theInput?// Trouble when reading ‘.’!

Page 22: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

22

Formatting Output cout << endl << "My output."; cout << "\nMy output.";

float average; int count;

// Compute count and average cout << endl << count; cout << endl << average; // How many digits displayed for average?

Page 23: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

23

#include <iomanip> cout << fixed << showpoint << setprecision(2); // Always display two decimal digits.// No need to remember for quiz/test

float value;

value = 1 / 3.0;cout << "\nFloat value 1/3.0: " << value;// 0.33

value = 36 / 3.0;cout << "\nFloat value 36/3.0: " << value;// 12.00

value = 1 / 5.0;cout << "\nFloat value 1/5.0: " << value;// 0.20

Page 24: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

24

#include <iomanip> cout << fixed << showpoint << setprecision(2); // The setting is applied to all values displayed// until the setting changes.

float value;

value = 1 / 3.0;cout << "\nFloat value 1/3.0: " << setw(8) << value;// □ □ □ □ 0.33

value = 36 / 3.0;cout << "\nFloat value 36/3.0: " << setw(8) << value;// □ □ □ 12.00

value = 1 / 5.0;cout << "\nFloat value 1/5.0: " << value;// 0.20 (no extra spaces)

// setw() is only applied to the next value// It has to be used for every value need the format.

Page 25: 1 CS 1430: Programming in C++. 2 Find Max, Min, Average of m Sections Max, Min and Average of each section Max, Min and Average of all sections together

25

Schedule• Prog1 Grace Time: 10 PM Today• Prog2: Loops Start Early!• Quiz3-4 Due 10 pm Monday• Quiz 1 Monday (10 points)• Test 1: Next Friday Note01 – Note10 Quizzes, Labs, Progs