CMSC 202 Lesson 2 C++ Primer.

Slides:



Advertisements
Similar presentations
C++ Data Type String A string is a sequence of characters enclosed in double quotes. Examples of strings: “Hello” “CIS 260” “Students” The empty string.
Advertisements

1 CS 105 Lecture 8 Strings; Input Failure Mon, Mar 7, 2011, 3:39 pm.
1 9/1/06CS150 Introduction to Computer Science 1 What Data Do We Have? CS 150 Introduction to Computer Science I.
1 Chapter 2 C++ Syntax and Semantics, and the Program Development Process Dale/Weems/Headington.
1 10/25/06CS150 Introduction to Computer Science 1 Reading from and Writing to Files.
Chapter 7. 2 Objectives You should be able to describe: The string Class Character Manipulation Methods Exception Handling Input Data Validation Namespaces.
Programming is instructing a computer to perform a task for you with the help of a programming language.
© Janice Regan, CMPT 128, Sept CMPT 128: Introduction to Computing Science for Engineering Students C++ Basic Input and output.
Elements of a C++ program 1. Review Algorithms describe how to solve a problem Structured English (pseudo-code) Programs form that can be translated into.
1 Programs Composed of Several Functions Syntax Templates Legal C++ Identifiers Assigning Values to Variables Declaring Named Constants String Concatenation.
Basic Elements of C++ Chapter 1.
Fundamental Programming: Fundamental Programming Introduction to C++
Introduction to C++ Version 1.1. Topics C++ Structure Primitive Data Types I/O Casting Strings Control Flow.
Input/Output Sujana Jyothi C++ Workshop Day 2. C++ I/O Basics 2 I/O - Input/Output is one of the first aspects of programming that needs to be mastered:
CSC1201: Programming Language 2 Lecture 1 Level 2 Course Nouf Aljaffan (C) CSC 1201 Course at KSU1.
1 Chapter 2 C++ Syntax and Semantics, and the Program Development Process.
Introducing C++ Programming Lecture 3 Dr. Hebbat Allah A. Elwishy Computer & IS Assistant Professor
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.
1 Cannon_Chapter9 Strings and the string Class. 2 Overview  Standards for Strings  String Declarations and Assignment  I/O with string Variables 
C++ String Class nalhareqi©2012. string u The string is any sequence of characters u To use strings, you need to include the header u The string is one.
1 What is a Named Constant? A named constant is a location in memory that we can refer to by an identifier, and in which a data value that cannot be changed.
Lecture 5: Expressions and Interactivity Professor: Dr. Miguel Alonso Jr. Fall 2008 CGS2423/COP1220.
Intro to Classes via the C++ String Class November 18, 2002 CSE103 - Penn State University Online at
A FIRST BOOK OF C++ CHAPTER 14 THE STRING CLASS AND EXCEPTION HANDLING.
1 8/30/06CS150 Introduction to Computer Science 1 Your First C++ Program.
String in C++. 2 Using Strings in C++ Programs String library or provides functions to: - manipulate strings - compare strings - search strings ASCII.
1 Chapter 8 – Character Arrays and Strings Outline 8.1Introduction 8.2Declaring and Initializing String 8.3Input/output of strings 8.4String-handling Functions.
Liang, Introduction to C++ Programming, (c) 2007 Pearson Education, Inc. All rights reserved X 1 Chapter 7 Enumerated Types and Strings Types.
C++ Programming: From Problem Analysis to Program Design, Fourth Edition Chapter 3: Input/Output Samples.
Bill Tucker Austin Community College COSC 1315
C++ Basics Lecture 2.
Lecture 2A Data Types Richard Gesick
Chapter 1.2 Introduction to C++ Programming
Introduction to C++ (Extensions to C)
C++ Basic Input and Output (I/O)
Chapter Topics The Basics of a C++ Program Data Types
Basic Elements of C++ Chapter 1.
What Actions Do We Have Part 1
Chapter 1.2 Introduction to C++ Programming
LESSON 2 Basic of C++.
Basic Elements of C++.
Working with Strings Lecture 2 Hartmut Kaiser
Arrays Part-1 Armen Keshishian.
Chapter 2 part #3 C++ Input / Output
Basic Elements of C++ Chapter 2.
Chapter 2 Elementary Programming
CS 1430: Programming in C++ Turn in your Quiz1-2 No time to cover HiC.
INC 161 , CPE 100 Computer Programming
Learning Objectives String Class.
Working with Strings Lecture 2 Hartmut Kaiser
Strings A collection of characters taken as a set:
String in C++.
Chapter 3: Input/Output
Variables T.Najah Al_Subaie Kingdom of Saudi Arabia
String What it is Why it’s useful
Chapter 3 Input output.
CS150 Introduction to Computer Science 1
Engineering Problem Solving with C++, Etter
Engineering Problem Solving with C++ An Object Based Approach
Engineering Problem Solving with C++ An Object Based Approach
What Actions Do We Have Part 1
Chapter 2 part #3 C++ Input / Output
C++ Programming Lecture 20 Strings
Using string type variables
Today’s Objectives 28-Jun-2006 Announcements
CS-161 Computer Programming Lecture 15 & 16: Arrays II
EECE.3220 Data Structures Instructor: Dr. Michael Geiger Spring 2019
CS31 Discussion 1D Fall18: week 2
Data Structure(s) A way of storing and organizing data in a computer so that it can be used efficiently. e.g. Arrays Linked Lists stacks Queues Trees.
Dr. Khizar Hayat Associate Prof. of Computer Science
Presentation transcript:

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 integers from the user

Announcements My Office Hours TA Office Hours No Labs this week Tuesday/Thursday 11:30-12:30 By appointment TA Office Hours Posted on Website by end of this week No Labs this week No TA Office Hours this week

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

Output cout << endl Example: 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;

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

In Action! #include <iostream> 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; }

Formatting Decimals Magic code Example: 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 << temperature << endl; // 81.70

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

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

Enumerations enum Syntax: Example: 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;

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

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?

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

C++-style Strings Library header file Create an empty string #include <string> 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 );

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;

C++-style Strings Length of string Is string empty? 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());

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

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

Input/Output with C++ Strings 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…

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”

Strings In Action! R e v e r s e ! ! e s r e v e R 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

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

Challenge! Part 1: Part 2: Part 3 (use your constants!): 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!