0% found this document useful (0 votes)
38 views

Lecture 4 String Functions

This document discusses strings in C++. It covers getting string input using getline and ignore, determining a string's length, accessing characters using substr, and modifying strings by removing, replacing, inserting or concatenating characters. Examples include a sales bonus program that gets input with getline and a ZIP code checker that verifies a string's length. The key string functions discussed are getline, ignore, length and substr.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
38 views

Lecture 4 String Functions

This document discusses strings in C++. It covers getting string input using getline and ignore, determining a string's length, accessing characters using substr, and modifying strings by removing, replacing, inserting or concatenating characters. Examples include a sales bonus program that gets input with getline and a ZIP code checker that verifies a string's length. The key string functions discussed are getline, ignore, length and substr.
Copyright
© © All Rights Reserved
Available Formats
Download as PPTX, PDF, TXT or read online on Scribd
You are on page 1/ 83

Introduction to Programming in C++

Seventh Edition

Chapter 13: Strings


Objectives

• Utilize string memory locations in a program


• Get string input using the getline function
• Ignore characters using the ignore function
• Determine the number of characters in a string
• Access the characters in a string
• Search a string

An Introduction to Programming with C++, Seventh Edition 2


• //getline - ok
• //ignore - ok
• //length - ok
• //find -ok
• //substr - ok
• //erase -ok
• //replace - ok
• //insert -ok
• //assign
• // + means concatenation
An Introduction to Programming with C++, Seventh Edition 3
Objectives (cont’d.)

• Remove characters from a string


• Replace characters in a string
• Insert characters within a string
• Duplicate characters within a string
• Concatenate strings

An Introduction to Programming with C++, Seventh Edition 4


The string Data Type

• The string data type is not a fundamental data type


in C++
• Added to C++ through use of string class
• To use the string class, a program must contain the
#include <string> directive
• You can use the string class to create string
variables or string named constants
• Memory locations of type string are initialized with
string literal constants—0 or more characters enclosed
in double quotation marks (“”)

An Introduction to Programming with C++, Seventh Edition 5


The string Data Type (cont’d.)

Figure 13-1 How to declare and initialize string variables and named constants

An Introduction to Programming with C++, Seventh Edition 6


The Creative Sales Program

• Program gets a salesperson’s name and sales amount


from keyboard
• Calculates salesperson’s bonus and displays salesperson’s
name and bonus amount
• Extraction operator can be used to get string input from
keyboard
• Stops reading characters when it encounters a white-
space character (blank, tab, or newline character)

An Introduction to Programming with C++, Seventh Edition 7


The Creative Sales Program (cont’d.)

Figure 13-2 Problem specification and IPO chart for the Creative Sales program

An Introduction to Programming with C++, Seventh Edition 8


The Creative Sales Program (cont’d.)

Figure 13-3 How to use the extraction operator (>>) to get string input

An Introduction to Programming with C++, Seventh Edition 9


The getline Function

• The getline function obtains string data from the


keyboard and stores it in a string variable
• Syntax is:
getline(cin, stringVariableName
[, delimiterCharacter]);
• Three actual arguments (first two required):
– cin argument refers to computer keyboard
– stringVariableName argument is name of a string variable
in which to store input
– Optional delimiterCharacter indicates character that
immediately follows last character of string
An Introduction to Programming with C++, Seventh Edition 10
The getline Function (cont’d.)

• Function will continue to read characters entered at


keyboard until it encounters a delimiter character
• Default delimiter character is newline character
• When the function encounters a delimiter character, it
discards the character—process called consuming the
character
• Newline character is designated by ‘\n’
• Backslash is called an escape character
• Backslash and character following it are called an
escape sequence

An Introduction to Programming with C++, Seventh Edition 11


The getline Function (cont’d.)

Figure 13-4 How to use the getline function


to get string input from the keyboard

An Introduction to Programming with C++, Seventh Edition 12


The getline Function (cont’d.)

Figure 13-4 How to use the getline function


to get string input from the keyboard (cont.)

An Introduction to Programming with C++, Seventh Edition 13


The getline Function (cont’d.)

Figure 13-5 Creative Sales program


An Introduction to Programming with C++, Seventh Edition 14
The getline Function (cont’d.)

Figure 13-6 Sample run of the Creative Sales program

An Introduction to Programming with C++, Seventh Edition 15


The getline Function (cont’d.)

16
The getline Function (cont’d.)

Figure 13-8 Result of running the


modified Creative Sales program

An Introduction to Programming with C++, Seventh Edition 17


The ignore Function

• The ignore function instructs the computer to read


and ignore characters stored in the cin object by
consuming (discarding) them
• Syntax is:
– cin.ignore([numberOfCharacters][, delimiterCharacter]);
• Has two actual arguments, both optional:
– numberOfCharacters argument is maximum number of
characters function should consume (default is 1)
– delimiterCharacter argument stops ignore function
from reading and discarding any more characters when
consumed

An Introduction to Programming with C++, Seventh Edition 18


The ignore Function (cont’d.)

Figure 13-9 How to use the ignore function


An Introduction to Programming with C++, Seventh Edition 19
The ignore Function (cont’d.)

Figure 13-10 Partial modified Creative Sales program


showing the ignore function

An Introduction to Programming with C++, Seventh Edition 20


The ignore Function (cont’d.)

Figure 13-11 Sample run of the modified


Creative Sales program with the ignore function

An Introduction to Programming with C++, Seventh Edition 21


The ZIP Code Program

• Program reads in a string from the user and verifies that


it contains exactly five characters
• If string contains exactly five characters, program
displays “Valid length”
• Otherwise, displays “Invalid length”

An Introduction to Programming with C++, Seventh Edition 22


The ZIP Code Program (cont’d.)

Figure 13-12 Problem specification and


IPO chart for the ZIP Code program
An Introduction to Programming with C++, Seventh Edition 23
The ZIP Code Program (cont’d.)

Figure 13-12 Problem specification and


IPO chart for the ZIP Code program (cont’d.)
An Introduction to Programming with C++, Seventh Edition 24
Determining the Number of
Characters in a string Variable

• You use string class’s length function to determine


the number of characters in a string variable
• Syntax is:
– string.length()
• Returns number of characters contained in string

An Introduction to Programming with C++, Seventh Edition 25


Determining the Number of Characters
Contained in a string Variable (cont’d.)

Figure 13-13 How to use the length function

An Introduction to Programming with C++, Seventh Edition 26


Determining the Number of Characters
Contained in a string Variable (cont’d.)

Figure 13-13 How to use the length function (cont’d.)


An Introduction to Programming with C++, Seventh Edition 27
Determining the Number of Characters
Contained in a string Variable (cont’d.)

Figure 13-14 The ZIP code program


An Introduction to Programming with C++, Seventh Edition 28
Determining the Number of Characters
Contained in a string Variable (cont’d.)

Figure 13-15 Sample run of the ZIP code program

An Introduction to Programming with C++, Seventh Edition 29


Accessing the Characters Contained in
a string Variable
• The substr function allows you to access any
number of characters contained in a string variable
by returning the specified characters
• Syntax is:
– string.substr(subscript[, count])
• Has two arguments (first is required):
– subscript argument represents subscript of first character
you want to access in string
– count argument is number of characters to return after
character specified by subscript

An Introduction to Programming with C++, Seventh Edition 30


Accessing the Characters Contained in
a string Variable (cont’d.)
• If you omit count argument, function returns all
characters from subscript position through end of
string
• A string is equivalent to a one-dimensional array of
characters
• Each character has a unique subscript that indicates
character’s position in the string

An Introduction to Programming with C++, Seventh Edition 31


Accessing the Characters Contained in
a string Variable (cont’d.)

Figure 13-17 How to use the substr function

An Introduction to Programming with C++, Seventh Edition 32


Accessing the Characters Contained in
a string Variable (cont’d.)

Figure 13-17 How to use the substr function (cont’d.)

An Introduction to Programming with C++, Seventh Edition 33


Accessing the Characters Contained in
a string Variable (cont’d.)

Figure 13-18 IPO chart information and


C++ instructions for the modified ZIP code problem

An Introduction to Programming with C++, Seventh Edition 34


Accessing the Characters Contained in
a string Variable (cont’d.)

Figure 13-18 IPO chart information and C++


instructions for the modified ZIP code problem (cont’d.)

An Introduction to Programming with C++, Seventh Edition 35


Accessing the Characters Contained in
a string Variable (cont’d.)

Figure 13-18 IPO chart information and C++instructions for the


modified ZIP code problem (cont’d.)

An Introduction to Programming with C++, Seventh Edition 36


Accessing the Characters Contained in
a string Variable (cont’d.)

Figure 13-19 Modified ZIP code program


An Introduction to Programming with C++, Seventh Edition 37
Accessing the Characters Contained in
a string Variable (cont’d.)

Figure 13-19 Modified ZIP code program (cont’d.)


An Introduction to Programming with C++, Seventh Edition 38
Accessing the Characters Contained in
a string Variable (cont’d.)

Figure 13-20 Sample run of the modified ZIP code program

An Introduction to Programming with C++, Seventh Edition 39


The Rearranged Name Program

• Program allows user to enter a person’s first and last


names, separated by a space
• Displays the person’s last name followed by a comma, a
space, and the person’s first name
• Searches the input string for the space that separates
the first and last names

An Introduction to Programming with C++, Seventh Edition 40


The Rearranged Name Program
(cont’d.)

Figure 13-21 Problem specification and


IPO chart for the rearranged name program

An Introduction to Programming with C++, Seventh Edition 41


Searching the Contents of a string
Variable
• You use the find function to search contents of a
string variable to determine whether it contains a
specific sequence of characters
• Syntax is:
– string.find(searchString, subscript)
– searchString argument is a string for which you are
searching within string
– subscript argument specifies starting position for the
search

An Introduction to Programming with C++, Seventh Edition 42


Searching the Contents of a string
Variable (cont’d.)
• find function performs a case-sensitive search
(uppercase and lowercase letters are not equivalent)
– When searchString is contained within string, function
returns an integer that indicates beginning position of
searchString within string
– Function returns -1 when searchString is not contained
within string

An Introduction to Programming with C++, Seventh Edition 43


Searching the Contents of a string
Variable (cont’d.)

Figure 13-22 How to use the find function

An Introduction to Programming with C++, Seventh Edition 44


Searching the Contents of a string
Variable (cont’d.)

Figure 13-22 How to use the find function (cont’d.)

An Introduction to Programming with C++, Seventh Edition 45


Searching the Contents of a string
Variable (cont’d.)

Figure 13-23 Rearranged name program


An Introduction to Programming with C++, Seventh Edition 46
Searching the Contents of a string
Variable (cont’d.)

Figure 13-24 Sample run of rearranged name program

An Introduction to Programming with C++, Seventh Edition 47


The Annual Income Program

• Program allows the user to enter a company’s annual


income
• Removes any commas and spaces from user’s entry
before displaying annual income

An Introduction to Programming with C++, Seventh Edition 48


The Annual Income Program (cont’d.)

Figure 13-25 Problem specification and


IPO chart for the annual income program

An Introduction to Programming with C++, Seventh Edition 49


The Annual Income Program (cont’d.)

Figure 13-25 IPO chart for the annual income program (cont’d.)
An Introduction to Programming with C++, Seventh Edition 50
Removing Characters from a string
Variable
• You can use the erase function to remove one or
more characters from a string variable
• Syntax is:
– string.erase(subscript[, count]);
– subscript is position of first character you want to remove
– Optional count argument is an integer that specifies
number of characters you want removed
– If you omit count, function removes all characters from
subscript through end of string

An Introduction to Programming with C++, Seventh Edition 51


Removing Characters from a string
Variable (cont’d.)

Figure 13-26 How to use the erase function


An Introduction to Programming with C++, Seventh Edition 52
Removing Characters from a string
Variable (cont’d.)

Figure 13-27 Annual income program

An Introduction to Programming with C++, Seventh Edition 53


Removing Characters from a string
Variable (cont’d.)

Figure 13-28 Sample run of the annual income program

An Introduction to Programming with C++, Seventh Edition 54


Replacing Characters in a string
Variable
• The replace function replaces one sequence of
characters in a string variable with another
• Syntax is:
– string.replace(subscript, count,
replacementString);
– subscript argument specifies where to begin replacing
characters in string
– count argument indicates number of characters to
replace
– replacementString argument contains replacement
characters

An Introduction to Programming with C++, Seventh Edition 55


Replacing Characters in a string
Variable

Figure 13-29 How to use the replace function

An Introduction to Programming with C++, Seventh Edition 56


Replacing Characters in a string
Variable

Figure 13-29 How to use the replace function (cont’d.)


An Introduction to Programming with C++, Seventh Edition 57
Replacing Characters in a string
Variable (cont’d.)

Figure 13-30 Partial annual income program showing the replace function

An Introduction to Programming with C++, Seventh Edition 58


The Social Security Number Program

• Program allows user to enter a Social Security number


without hyphens
• If user’s entry contains nine characters, program inserts
hyphens in appropriate places and displays number on
screen
• If user does not enter nine characters, program displays
an appropriate message

An Introduction to Programming with C++, Seventh Edition 59


The Social Security Number Program
(cont’d.)

Figure 13-32 Problem specification and IPO


chart for the Social Security number program
An Introduction to Programming with C++, Seventh Edition 60
Inserting Characters within a string
Variable
• You can use the insert function to insert characters
into a string variable
• Syntax is:
– string.insert(subscript, insertString);
– subscript specifies where in string you want characters
inserted
– insertString specifies characters to be inserted

An Introduction to Programming with C++, Seventh Edition 61


Inserting Characters within a string
Variable (cont’d.)

Figure 13-33 How to use the insert function


An Introduction to Programming with C++, Seventh Edition 62
Inserting Characters within a string
Variable (cont’d.)

Figure 13-34 Social Security number program


An Introduction to Programming with C++, Seventh Edition 63
Inserting Characters within a string
Variable (cont’d.)

Figure 13-35 Sample run of the Social Security number program

Figure 13-36 Another sample run of the


Social Security number program

An Introduction to Programming with C++, Seventh Edition 64


The Company Name Program

• Program allows user to enter name of a company


• Displays name with a row of hyphens below it

An Introduction to Programming with C++, Seventh Edition 65


The Company Name Program (cont’d.)

Figure 13-37 Problem specification and IPO chart


for the company name program

An Introduction to Programming with C++, Seventh Edition 66


Duplicating a Character within a
string Variable
• You can use the assign function to duplicate one
character a specified number of times and assign the
resulting string to a string variable
• Syntax is:
– string.assign(count, character);
– count argument is an integer that indicates the number of
times you want to duplicate the character specified in
character argument
– character argument can be either a character literal
constant or a char memory location

An Introduction to Programming with C++, Seventh Edition 67


Duplicating a Character within a
string Variable (cont’d.)

Figure 13-38 How to use the assign function

An Introduction to Programming with C++, Seventh Edition 68


Duplicating a Character within a
string Variable (cont’d.)

Figure 13-39 Company name program


An Introduction to Programming with C++, Seventh Edition 69
Duplicating a Character within a
string Variable (cont’d.)

Figure 13-40 Sample run of the company name program

An Introduction to Programming with C++, Seventh Edition 70


Concatenating Strings

• String concatenation refers to the process of


connecting (linking) strings together
• You concatenate strings using the concatenation
operator (+ sign)

An Introduction to Programming with C++, Seventh Edition 71


Concatenating Strings (cont’d.)

An Introduction to Programming with C++, Seventh Edition 72


Figure 13-41 How to use the concatenation operator
Concatenating Strings (cont’d.)

Figure 13-42 Partial company name program showing string concatenation

An Introduction to Programming with C++, Seventh Edition 73


Concatenating Strings (cont’d.)

Figure 13-43 Sample run of the company


name program using string concatenation

An Introduction to Programming with C++, Seventh Edition 74


Summary

• The string data type was added to the C++ language


using the string class
• Memory locations whose data type is string are
initialized using string literal constants (0 or more
characters enclosed in double quotation marks)
• You can use the extraction operator to get a string from
the user at the keyboard if the string does not contain a
white-space character

An Introduction to Programming with C++, Seventh Edition 75


Summary (cont’d.)

• The getline function gets a string of characters


entered at the keyboard and stores them in a string
variable
• The string can contain any characters, including white-
space characters
• The getline function reads and stores characters
from the keyboard until it encounters a delimiter
character, which it consumes (discards)
• The default delimiter character is the newline character

An Introduction to Programming with C++, Seventh Edition 76


Summary (cont’d.)

• The computer stores characters entered at the keyboard


in the cin object
• Both the extraction operator and the getline
function remove characters from cin
• The extraction operator leaves the newline character in
cin, while the getline function consumes the
newline character
• The ignore function reads and then consumes
characters entered at the keyboard

An Introduction to Programming with C++, Seventh Edition 77


Summary (cont’d.)

• The ignore function stops reading and consuming


characters when it consumes either a specified number
of characters or a delimiter character
• The default number of characters to consume is 1
• The assign, erase, insert, and replace
functions are self-contained statements that change the
value of a string variable
• The concatenation operator (+) is used to join (link)
strings together

An Introduction to Programming with C++, Seventh Edition 78


Lab 13-1: Stop and Analyze

• Study the code in Figure 13-44 and then answer the


questions

An Introduction to Programming with C++, Seventh Edition 79


Lab 13-2: Plan and Create

Figure 13-45 Problem specification for Lab 13-2

An Introduction to Programming with C++, Seventh Edition 80


Lab 13-3: Modify

• Make a copy of Lab 13-2 to modify


• Current version allows player 1 to enter only five-letter
words
• Modify the program so that player one can enter a word
of any length
• Test the program appropriately

An Introduction to Programming with C++, Seventh Edition 81


Lab 13-4: Desk-Check

• Desk-check the code in Figure 13-49


• What will the code display on the screen?

An Introduction to Programming with C++, Seventh Edition 82


Lab 13-5: Debug

• Run the program in the Lab13-5.cpp file


• Type Joe and press Enter
• Rather than displaying the letters J, o, and e on three
separate lines, the program displays Joe, oe, and e
• Debug the program

An Introduction to Programming with C++, Seventh Edition 83

You might also like