Presentation is loading. Please wait.

Presentation is loading. Please wait.

CS 1430: Programming in C++ No time to cover HiC.

Similar presentations


Presentation on theme: "CS 1430: Programming in C++ No time to cover HiC."— Presentation transcript:

1 CS 1430: Programming in C++ No time to cover HiC

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 section Process one score

4 Pseudo Code Initialize 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 LCV Process and display class result

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

6 Pseudo Code classTotal = 0, classCount = 0 Input 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 Process and display class result

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; }

8 cin >> score; // Prime Read while (score != END_CLASS) {
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) if (score < secMin) secScoreCount ++; secTotal += score; cin >> score; // Display section result if (classScoreCount == 0) { classMax = secMax; classMin = secMin; } else if (secMax > classMax) if (secMin < classMin) classTotal += secTotal; classScoreCount += secScoreCount; cin >> score; // Process and display class result

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

10 Space Tab Next line … (Replace Tab with 3 spaces in VS)
White Spaces Space Tab Next line (Replace Tab with 3 spaces in VS)

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: // What is the value of theInput? // Depending on the type of theInput // But the spaces before “-50.0” will be ignored.

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

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

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

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

16 Tracing aChar C S 1 4 3 X // Input // CS 143 // X char aChar;
int count = 0; cin >> aChar; // Prime read before loop while (aChar != ‘X’) { count ++; cout << aChar; } cout << “Count: “ << count; Tracing aChar C S 1 4 3 X Next time : HiC Input.cpp (Quiz3-5 needs more time)

17 Function cin.get() The function will read one char at a time
Including white spaces!

18 Tracing aChar C S - 1 4 3 \n X // Input // CS 143 // X char aChar;
int count = 0; cin.get(aChar); // Prime read before loop while (aChar != ‘X’) { count ++; cout << aChar; } cout << “Count: “ << count; Tracing aChar C S - 1 4 3 \n X

19 Function cin.eof() The function returns true or false
eof(): end of file end of input From keyboard [CTRL-D] From File Not True after reading the last item in the file True when trying to read after reading the last item in the file

20 Tracing aChar cin.eof() C False S False - False 1 False 4 False
// Input // CS 143 // X char aChar; int count = 0; cin.get(aChar); // Prime read before loop while (!cin.eof()) { count ++; cout << aChar; } cout << “Count: “ << count; Tracing aChar cin.eof() C False S False False False False False \n False X False ? True

21 int theInput; int count = 0; cout << "What is your input: "; cin >> theInput; while (!cin.eof()) { count ++; } cout << theInput; cout << “Count: “ << count; // Input: // What is the value of theInput? // Trouble when reading ‘.’!

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?

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

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.

25 Schedule Prog1 Can still fix style Prog2: Loops
Start Early! Two points Quiz Monday! Lab 2 Demo by 4pm Quiz3-4 Due 5 pm Monday Test 1: Next Friday Note01 – Note10 Prog2: Loops! Quiz3-5 Now!


Download ppt "CS 1430: Programming in C++ No time to cover HiC."

Similar presentations


Ads by Google