How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.
-
Upload
meredith-ross -
Category
Documents
-
view
228 -
download
4
Transcript of How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.
![Page 1: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/1.jpg)
How to Program in C++CHAPTER 3: INPUT & OUTPUT
INSTRUCTOR: MOHAMMAD MOJADDAM
![Page 2: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/2.jpg)
Objectives2
In this chapter, you will:• Learn what a stream is and examine input
and output streams• Explore how to read data from the standard
input device• Learn how to use predefined functions in a
program• Explore how to use the input stream
functions get and ignore
![Page 3: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/3.jpg)
Objectives (cont'd.)3
• Become familiar with input failure• Learn how to write data to the standard
output device• Discover how to use manipulators in a
program to format output• Learn how to perform input and output
operations with the string data type• Learn how to debug logic errors• Become familiar with file input and output
![Page 4: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/4.jpg)
I/O Streams and Standard I/O Devices4
• I/O: sequence of bytes (stream of bytes) from source to destination– Bytes are usually characters, unless program requires
other types of information
• Stream: sequence of characters from source to destination
• Input stream: sequence of characters from an input device to the computer
• Output stream: sequence of characters from the computer to an output device
![Page 5: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/5.jpg)
I/O Streams and Standard I/O Devices (cont'd.)5
Use iostream header file to extract (receive) data from keyboard and send output to the screen Contains definitions of two data types:
istream: input stream ostream: output stream
Has two variables: cin: stands for common input cout: stands for common output
![Page 6: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/6.jpg)
I/O Streams and Standard I/O Devices (cont'd.)6
To use cin and cout, the preprocessor directive #include <iostream> must be used
Variable declaration is similar to: istream cin; ostream cout;
Input stream variables: type istream Output stream variables: type ostream
![Page 7: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/7.jpg)
cin and the Extraction Operator >>7
The syntax of an input statement using cin and the extraction operator >> is:
The extraction operator >> is binary Left-side operand is an input stream variable
Example: cin Right-side operand is a variable
![Page 8: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/8.jpg)
cin and the Extraction Operator >> (cont'd.)8
• No difference between a single cin with multiple variables and multiple cin statements with one variable
• When scanning, >> skips all whitespace– Blanks and certain nonprintable characters
• >> distinguishes between character 2 and number 2 by the right-side operand of >>– If type char or int (or double), the 2 is treated
as a character or as a number 2
![Page 9: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/9.jpg)
cin and the extraction operator>> 9
• Entering a char value into an int or double variable causes serious errors, called input failure
![Page 10: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/10.jpg)
cin and the Extraction Operator >> (cont'd.)10
When reading data into a char variable >> skips leading whitespace, finds and stores only
the next character Reading stops after a single character
To read data into an int or double variable >> skips leading whitespace, reads + or - sign (if
any), reads the digits (including decimal) Reading stops on whitespace non-digit character
![Page 11: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/11.jpg)
cin and the Extraction Operator >> (cont'd.)11
![Page 12: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/12.jpg)
cin and the Extraction Operator >> (cont'd.)12
![Page 13: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/13.jpg)
cin and the Extraction Operator >> (cont'd.)13
![Page 14: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/14.jpg)
Using Predefined Functions in a Program14
Function (subprogram): set of instructions When activated, it accomplishes a task
main executes when a program is runOther functions execute only when called C++ includes a wealth of functions
Predefined functions are organized as a collection of libraries called header files
![Page 15: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/15.jpg)
Using Predefined Functions in a Program
15
Header file may contain several functions To use a predefined function, you need the
name of the appropriate header file You also need to know:
Function name Number of parameters required Type of each parameter What the function is going to do
![Page 16: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/16.jpg)
Using Predefined Functions in a Program
16
To use pow (power), include cmath Two numeric parameters Syntax: pow(x,y) = xy
x and y are the arguments or parameters In pow(2,3), the parameters are 2 and 3
![Page 17: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/17.jpg)
Using Predefined Functions in a Program
17
![Page 18: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/18.jpg)
Using Predefined Functions in a Program
18
Sample Run:Line 1: 2 to the power of 6 = 64Line 4: 12.5 to the power of 3 = 1953.13Line 5: Square root of 24 = 4.89898Line 7: u = 181.019Line 9: Length of str = 20
![Page 19: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/19.jpg)
C++ Programming: From Problem Analysis to Program Design, Fifth Edition
19
• 'A' is stored in ch1, • character '2' is stored in ch2, • 5 is stored in num.
However, what if you intended to store 'A' in ch1, the blank in ch2, and 25 in num?
![Page 20: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/20.jpg)
cin and the get Function20
The get function Inputs next character (including whitespace) Stores in memory location indicated by its argument
The syntax of cin and the get function:
varChar Is a char variable & Is the argument (parameter) of
the function
The variable cin can access the stream function get
![Page 21: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/21.jpg)
C++ Programming: From Problem Analysis to Program Design, Fifth Edition
21
To store 'A' in ch1, the blank in ch2, and 25 in num
The preceding form of the get functionreads values of only the char data type.
![Page 22: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/22.jpg)
cin and the ignore Function22
• ignore function – Discards a portion of the input
• The syntax to use the function ignore is:
intExp is an integer expression chExp is a char expression
• If intExp is a value m, the statement says to ignore the next m characters or all characters until the character specified by chExp which comes first
![Page 23: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/23.jpg)
C++ Programming: From Problem Analysis to Program Design, Fifth Edition
23
cin.ignore(100, '\n');
This statement says to ignore the next 100 characters or ignore the input until it encounters the character specified by New Line, whichever comes first
cin.ignore(100, 'A');
results in ignoring the first 100 characters or all characters until the character 'A' is found, whichever comes first.
![Page 24: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/24.jpg)
C++ Programming: From Problem Analysis to Program Design, Fifth Edition
24
![Page 25: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/25.jpg)
C++ Programming: From Problem Analysis to Program Design, Fifth Edition
25
![Page 26: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/26.jpg)
The Dot Notation Between I/O Stream Variables and I/O Functions: A Precaution
26
In the statement cin.get(ch);
cin and get are two separate identifiers separated by a dot
Dot separates the input stream variable name from the member, or function, name
In C++, dot is the member access operator
![Page 27: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/27.jpg)
Input Failure27
Things can go wrong during executionIf input data does not match corresponding
variables, program may run into problemsTrying to read a letter into an int or double
variable will result in an input failure
If an error occurs when reading data The input stream then enters a state called the fail
state.
![Page 28: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/28.jpg)
C++ Programming: From Problem Analysis to Program Design, Fifth Edition
28
![Page 29: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/29.jpg)
The clear Function29
Once in a fail state, all further I/O statements using that stream are ignored
The program continues to execute with whatever values are stored in variables This causes incorrect results
The clear function restores input stream to a working state
Here, istreamVar is an input stream variable, such as cin. After using the function clear to return the input stream to a
working state, you still need to clear the rest of the garbage from the input stream. This can be accomplished by using the function
ignore.
![Page 30: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/30.jpg)
C++ Programming: From Problem Analysis to Program Design, Fifth Edition
30
![Page 31: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/31.jpg)
Output and Formatting Output31
Syntax of cout when used with <<
Expression is evaluatedValue is printedManipulator is used to format the output
Example: endl
![Page 32: How to Program in C++ CHAPTER 3: INPUT & OUTPUT INSTRUCTOR: MOHAMMAD MOJADDAM.](https://reader035.fdocuments.in/reader035/viewer/2022062407/56649d6e5503460f94a4fcd9/html5/thumbnails/32.jpg)
Understanding Logic Errors and Debugging with cout statements
32
Syntax errors Reported by the compiler
Logic errors Typically not caught by the compiler Spot and correct using cout statements Temporarily insert an output statement Correct problem Remove output statement