Chapter 4

advertisement
Chapter 4
Program Input
and the
Software
Design Process
Dale/Weems
1


Input Statements to Read Values into a
Program using >>
Prompting for Interactive Input/Output
2
C++ Input/Output
No built-in I/O in C++!!
 A library provides input stream and
output stream

Keyboard
Screen
executing
program
istream
ostream
3
Using Libraries

A library has 2 parts
Interface(stored in a header file)tells what
items are in the library and how to use
them
Implementation(stored in another
file)contains the definitions of the items in
the library

#include <iostream>
Refers to the header file for the iostream
library needed for use of cout and endl.
4
Is compilation the first step?

No; before your source program is compiled,
it is first examined by the preprocessor that



removes all comments from source code
handles all preprocessor directives--they begin
with the # character such as
#include <iostream>
This include tells the preprocessor to look in the
standard include directory for the header file
called iostream and insert its contents into your
source code
5
<iostream> Header File
Access to a library that defines 2
objects

An istream object named cin (keyboard)

An ostream object named cout (screen)
6
Giving a Value to a Variable
RECALL: In your program you can assign(give) a
value to the variable by using the assignment
operator =
ageOfDog = 12;
OR by another method, such as
cout << “How old is your dog?”;
cin >> ageOfDog;
7
>> Operator
>> is called the input or extraction operator
>> is a binary operator
>> is left associative
Expression
Has value
cin
cin
>> age
Statement
cin
>>
age
>>
weight;
8
Input Statements
SYNTAX
cin >> Variable >> Variable . . .;
These examples yield the same result.
cin >> length;
cin >> width;
cin >> length >> width;
10
Extraction Operator >>
>> “skips over” (actually reads but does
not store anywhere) leading white space
characters as it reads your data from the
input stream
11
Whitespace Characters Include . . .



blanks
tabs
end-of-line(newline) characters
The newline character is created by
hitting Enter or Return at the keyboard,
or by using the manipulator endl or “\n”
in a program
12
At the keyboard you type:
A[space]B[space]C[Enter]
char
char
char
cin
cin
cin
first;
middle;
last;
>>
>>
>>
first
first ;
middle ‘A’
;
last ;
first
middle
last
‘B’
‘C’
middle
last
NOTE: A reading marker is left pointing to the
newline character after the ‘C’ in the input stream
13
Another example using >>
STATEMENTS
int
char
float
i;
ch;
x;
cin >> i;
cin >> ch;
cin >> x;
CONTENTS
MARKER
POSITION
25 A\n
16.9\n
i
ch
x
25 A\n
16.9\n
25
i
ch
25
‘A’
i
ch
25
‘A’
i
ch
x
25 A\n
16.9\n
x
16.9 25 A\n
16.9\n
x
16
String Input in C++
Input of a string is possible using the
extraction operator >>
Example
string
cin >>
cout <<
message;
message;
message;
However . . .
22
>> Operator with Strings

The >> operator skips any leading
whitespace characters such as blanks and
newlines

It then reads successive characters into
the string, and stops at the first trailing
whitespace character(which is not
consumed, but remains waiting in the
input stream)
23
String Input Using >>
string
string
cin >>
firstName;
lastName;
firstName >> lastName;
Suppose input stream looks like this:
Joe Hernandez 23
What are the string values?
24
Results Using >>
string
string
cin >>
firstName;
lastName;
firstName >> lastName;
Result
“Joe”
“Hernandez”
firstName
lastName
25
Interactive I/O

In an interactive program the user enters
information while the program is executing

Before the user enters data, a prompt should be
provided to explain what type of information
should be entered

The amount of information needed in the prompt
depends on
 the complexity of the data being entered, and
 the sophistication of the person entering the
data
31
Prompting for Interactive I/O
// DO: prompt the user to enter three integers and print
out their average
32
Download