Presentation is loading. Please wait.

Presentation is loading. Please wait.

CMSC 202 Lesson 2 C++ Primer. Warmup Create an array called ‘data’ Define a constant called DATA_SIZE with value 127 Write a loop to fill the array with.

Similar presentations


Presentation on theme: "CMSC 202 Lesson 2 C++ Primer. Warmup Create an array called ‘data’ Define a constant called DATA_SIZE with value 127 Write a loop to fill the array with."— Presentation transcript:

1 CMSC 202 Lesson 2 C++ Primer

2 Warmup Create an array called ‘data’ Define a constant called DATA_SIZE with value 127 Write a loop to fill the array with integers from the user

3 Intro to C++ Minor differences from C Major additions to C Today  Differences Semester  Additions

4 Output cout  Output stream  Print to screen <<  Output stream separator  Between every object in stream endl  Output stream end of line character Example: cout << "Hello World!" << endl;

5 Input cin  Input stream  Standard input (keyboard) >>  Input stream separator  Between every object in stream Example int age; cout << "What is your age?" << endl; cin >> age;

6 In Action! #include using namespace std; int main( ) { // greet the user cout << "Hello reader.\n" << "Welcome to C++.\n"; // prompt user and get response int numberOfLanguages; cout << "How many programming languages have you used? "; cin >> numberOfLanguages; // determine appropriate response if (numberOfLanguages < 1 ) cout << "Read the preface. You may prefer" << endl << "a more elementary book by the same author" << endl; else cout << "Enjoy the book." << endl; return 0; }

7 Formatting Decimals Magic code  cout.setf( ios::fixed );  cout.setf( ios::showpoint );  cout.precision( 2 ); Fix & show the decimal with 2 digits of precision  Collection of flags, set until you UN-set them! Example: double temperature = 81.7; cout.setf( ios::fixed ); cout.setf( ios::showpoint ); cout.precision( 2 ); cout << temperature << endl;// 81.70

8 Casting Old C-style casting double DegreesCelsius( int degreesFahernheit ) { return (double)5 / 9 * ( degreesFahrenheit - 32 ); } New C++-style casting double DegreesCelsius( int degreesFahernheit ) { return static_cast ( 5 ) / 9 * ( degreesFahrenheit - 32 ); } Why?  Compiler makes a check – so it’s safer

9 Constants Old C-style #defines #define PI 3.14159; New C++-style constant variables const double PI = 3.14159; Why?  Type-checking!

10 Enumerations enum  Allows you to define new, limited types  Maps to integers (so comparisons are allowed) Syntax: enum TYPE_NAME { VAL1, VAL2, …, VALN }; Example: enum DAYS { SUNDAY, MONDAY, TUESDAY, WEDNESDAY, THURSDAY, FRIDAY, SATURDAY }; DAYS today = TUESDAY;

11 Practice! Work with your neighbor Rewrite the warmup to use the following C++ constructs:  cout  cin  const Warmup  Create an array called ‘data’  Define a constant called DATA_SIZE with value 127  Write a loop to fill the array with integers from the user

12 Review: C-style Strings Declare a new string: char string1[4] = "abc"; char string2[ ] = "abc"; char *stringp = "abc"; // What about this? char string3[ ] = {'a', 'b', 'c'}; What’s the difference?

13 Review: C-style Strings Library Functions  strcpy -- copy a C-style string  strcat -- concatenate two C-style strings  strlen -- return the length of a C-style string  strcmp -- compare two C-style strings

14 C++-style Strings Library header file #include Create an empty string string stringName; Create a string with initial value string carMake( “Nissan” ); string carModel = “Pulsar”; Create a copy of a string string newCarMake( carMake );

15 C++-style Strings Copy value into existing string firstString = secondString; Access individual character (like arrays!) firstString[7] = ‘x’; Compare two strings (==,, !=, …) if (firstString == “ham”) Concatenation string name = firstName + “ “ + lastName;

16 C++-style Strings Length of string if (fileName.size() > 8) if (fileName.length() > 8) Is string empty? if (fileName.empty()) Treat C++-string as C-string  (HINT: important for file streams!) string s1 = "bob"; char s2[] = "This is a C-style string"; // this code copies s1 onto s2 using strcpy() strcpy (s2, s1.c_str());

17 C++-style Strings Substring Syntax: stringName.substr( index, length); Example string name = “Your Name”; string your = name.substr(0, 4); cout << your << endl;// “Your”

18 Input/Output with C++ Strings Output  Same as with other variables… cout << stringName << endl; Example string firstName = “Dana”; string lastName = “Wortman”; cout << firstName << “ “ << lastName;

19 Input/Output with C++ Strings Input  Same as with other variables  One issue – strings are broken by whitespace cin >> stringName; Example: string name; cout << “Please enter your name” << endl; // User types in: Dana Wortman cin >> name; cout << name << endl;// “Dana” // “Wortman” is waiting // to be read…

20 Input/Output with C++ Strings Input – Whole lines! Syntax: getline(inputStream, stringName);  Getline reads until an end-of-line character is seen (return!) Example: string name; cout << “Please enter your name” << endl; // User types in: Dana Wortman getline(cin, name); cout << name << endl;// “Dana Wortman”

21 Strings In Action! string Reverse (string s) { string result(s);// copy of original string int start = 0; // left-most character int end = s.length(); // right-most character // swap chars until end and start // meet in the middle while (start < end) { --end; char c = result[end]; result[end] = result[start]; result[start] = c; ++start; } return result; } R e v e r s e ! ! e s r e v e R

22 Practice! Prompt for 3 words from the user Read in 3 separate words Concatenate them together into 1 string in REVERSE ORDER Print that string

23 Challenge! Part 1:  Define a constant representing the minimum “Gateway” GPA (3.0)  Request the user’s GPA for CMSC 201  Print it using 3 decimal points of precision Part 2:  Define a constant representing the computer science major code (CMSC)  Request the user’s 4-letter Major code  Print it Part 3 (use your constants!) :  If the user is a CMSC major and their GPA is above the cuttof Print a congratulatory message  If they are a CMSC major and their GPA is too low Tell them to retake 201  If they are any other major Tell them to change majors to CMSC – because it’s the best!


Download ppt "CMSC 202 Lesson 2 C++ Primer. Warmup Create an array called ‘data’ Define a constant called DATA_SIZE with value 127 Write a loop to fill the array with."

Similar presentations


Ads by Google