C++ Primer, Fifth Edition
know only a few basic concepts and operations from the IO library.
Most of the examples in this book use the iostream library. Fundamental to the
iostream library are two types named istream and ostream, which represent input
and output streams, respectively. A stream is a sequence of characters read from or
written to an IO device. The term 
stream
is intended to suggest that the characters
are generated, or consumed, sequentially over time.
Standard Input and Output Objects
The library defines four IO objects. To handle input, we use an object of type
istream named cin (pronounced 
see-in
). This object is also referred to as the
standard input. For output, we use an ostream object named cout (pronounced
see-out
). This object is also known as the standard output. The library also defines
two other ostream objects, named cerr and clog (pronounced 
see-err
and 
see-log
,
respectively). We typically use cerr, referred to as the standard error, for warning
and error messages and clog for general information about the execution of the
program.
Ordinarily, the system associates each of these objects with the window in which
the program is executed. So, when we read from cin, data are read from the window
in which the program is executing, and when we write to cout, cerr, or clog, the
output is written to the same window.
A Program That Uses the IO Library
In our bookstore problem, we’ll have several records that we’ll want to combine into a
single total. As a simpler, related problem, let’s look first at how we might add two
numbers. Using the IO library, we can extend our main program to prompt the user
to give us two numbers and then print their sum:
Click here to view code image
#include <iostream>
int main()
{
std::cout << "Enter two numbers:" << std::endl;
int v1 = 0, v2 = 0;
std::cin >> v1 >> v2;
std::cout << "The sum of " << v1 << " and " << v2
<< " is " << v1 + v2 << std::endl;
return 0;
}
This program starts by printing
Enter two numbers:
on the user’s screen and then waits for input from the user. If the user enters
www.it-ebooks.info
Convert pdf into ppt online - C# Create PDF from PowerPoint Library to convert pptx, ppt to PDF in C#.net, ASP.NET MVC, WinForms, WPF
Online C# Tutorial for Creating PDF from Microsoft PowerPoint Presentation
convert pdf file to powerpoint; pdf to powerpoint
Convert pdf into ppt online - VB.NET Create PDF from PowerPoint Library to convert pptx, ppt to PDF in vb.net, ASP.NET MVC, WinForms, WPF
VB.NET Tutorial for Export PDF file from Microsoft Office PowerPoint
how to add pdf to powerpoint slide; converting pdf to ppt online
C++ Primer, Fifth Edition
3 7
followed by a newline, then the program produces the following output:
The sum of 3 and 7 is 10
The first line of our program
#include <iostream>
tells the compiler that we want to use the iostream library. The name inside angle
brackets (iostream in this case) refers to a header. Every program that uses a
library facility must include its associated header. The #include directive must be
written on a single line—the name of the header and the #include must appear on
the same line. In general, #include directives must appear outside any function.
Typically, we put all the #include directives for a program at the beginning of the
source file.
Writing to a Stream
The first statement in the body of main executes an expression. In C++ an
expression yields a result and is composed of one or more operands and (usually) an
operator. The expressions in this statement use the output operator (the « operator)
to print a message on the standard output:
Click here to view code image
std::cout << "Enter two numbers:" << std::endl;
The << operator takes two operands: The left-hand operand must be an ostream
object; the right-hand operand is a value to print. The operator writes the given value
on the given ostream. The result of the output operator is its left-hand operand.
That is, the result is the ostream on which we wrote the given value.
Our output statement uses the << operator twice. Because the operator returns its
left-hand operand, the result of the first operator becomes the left-hand operand of
the second. As a result, we can chain together output requests. Thus, our expression
is equivalent to
Click here to view code image
(std::cout << "Enter two numbers:") << std::endl;
Each operator in the chain has the same object as its left-hand operand, in this case
std::cout. Alternatively, we can generate the same output using two statements:
Click here to view code image
std::cout << "Enter two numbers:";
std::cout << std::endl;
The first output operator prints a message to the user. That message is a string
www.it-ebooks.info
Online Convert PowerPoint to PDF file. Best free online export
Convert a PPTX/PPT File to PDF. Just upload your file by clicking on the blue button or drag-and-drop your pptx or ppt file into the drop area.
adding pdf to powerpoint; how to add pdf to powerpoint
How to C#: Convert PDF, Excel, PPT to Word
How to C#: Convert PDF, Excel, PPT to Word. PDF, MS-Excel, MS-PPT to Word Conversion Overview. By integrating XDoc.Word SDK into your C#.NET project, PDF, MS
convert pdf to powerpoint online for; convert pdf to powerpoint online no email
C++ Primer, Fifth Edition
literal, which is a sequence of characters enclosed in double quotation marks. The
text between the quotation marks is printed to the standard output.
The second operator prints endl, which is a special value called a manipulator.
Writing endl has the effect of ending the current line and flushing the 
buffer
associated with that device. Flushing the buffer ensures that all the output the
program has generated so far is actually written to the output stream, rather than
sitting in memory waiting to be written.
Warning
Programmers often add print statements during debugging. Such statements
should 
always
flush the stream. Otherwise, if the program crashes, output
may be left in the buffer, leading to incorrect inferences about where the
program crashed.
Using Names from the Standard Library
Careful readers will note that this program uses std::cout and std::endl rather
than just cout and endl. The prefix std:: indicates that the names cout and endl
are defined inside the namespace named std. Namespaces allow us to avoid
inadvertent collisions between the names we define and uses of those same names
inside a library. All the names defined by the standard library are in the std
namespace.
One side effect of the library’s use of a namespace is that when we use a name
from the library, we must say explicitly that we want to use the name from the std
namespace. Writing std::cout uses the scope operator (the :: operator) to say
that we want to use the name cout that is defined in the namespace std. § 3.1 (p.
82) will show a simpler way to access names from the library.
Reading from a Stream
Having asked the user for input, we next want to read that input. We start by defining
two 
variables
named v1 and v2 to hold the input:
int v1 = 0, v2 = 0;
We define these variables as type int, which is a built-in type representing integers.
We also 
initialize
them to 0. When we initialize a variable, we give it the indicated
value at the same time as the variable is created.
The next statement
std::cin >> v1 >> v2;
www.it-ebooks.info
How to C#: Convert Word, Excel and PPT to PDF
How to C#: Convert Word, Excel and PPT to PDF. MS Office to PDF Conversion Overview. By integrating XDoc.PDF SDK into your C#.NET project, Microsoft Office
how to add pdf to powerpoint presentation; converting pdf to powerpoint online
VB.NET PowerPoint: Convert & Render PPT into PDF Document
directly encode converted image source into PDF document file converted image source to PDF format, RasterEdge VB other encoding APIs to convert rendered image
pdf to powerpoint conversion; add pdf to powerpoint presentation
C++ Primer, Fifth Edition
reads the input. The input operator (the » operator) behaves analogously to the
output operator. It takes an istream as its left-hand operand and an object as its
right-hand operand. It reads data from the given istream and stores what was read
in the given object. Like the output operator, the input operator returns its left-hand
operand as its result. Hence, this expression is equivalent to
(std::cin >> v1) >> v2;
Because the operator returns its left-hand operand, we can combine a sequence of
input requests into a single statement. Our input operation reads two values from
std::cin, storing the first in v1 and the second in v2. In other words, our input
operation executes as
std::cin >> v1;
std::cin >> v2;
Completing the Program
What remains is to print our result:
Click here to view code image
std::cout << "The sum of " << v1 << " and " << v2
<< " is " << v1 + v2 << std::endl;
This statement, although longer than the one that prompted the user for input, is
conceptually similar. It prints each of its operands on the standard output. What is
interesting in this example is that the operands are not all the same kinds of values.
Some operands are string literals, such as "The sum of ". Others are int values,
such as v1, v2, and the result of evaluating the arithmetic expression v1 + v2. The
library defines versions of the input and output operators that handle operands of
each of these differing types.
Exercises Section 1.2
Exercise 1.3: Write a program to print Hello, World on the standard
output.
Exercise 1.4: Our program used the addition operator, +, to add two
numbers. Write a program that uses the multiplication operator, *, to print
the product instead.
Exercise 1.5: We wrote the output in one large statement. Rewrite the
program to use a separate statement to print each operand.
Exercise 1.6: Explain whether the following program fragment is legal.
Click here to view code image
std::cout << "The sum of " << v1;
<< " and " << v2;
<< " is " << v1 + v2 << std::endl;
www.it-ebooks.info
C# TIFF: Learn to Convert MS Word, Excel, and PPT to TIFF Image
C# TIFF - Conversion from Word, Excel, PPT to TIFF. In order to convert Microsoft Word, Excel, and PowerPoint to quiet easy to integrate this SDK into your C#
create powerpoint from pdf; convert pdf to ppt
VB.NET PowerPoint: Process & Manipulate PPT (.pptx) Slide(s)
to split one PPT (.pptx) document file into smaller sub control add-on can do PPT creating, loading powerful & profession imaging controls, PDF document, image
convert pdf pages to powerpoint slides; add pdf to powerpoint
C++ Primer, Fifth Edition
If the program is legal, what does it do? If the program is not legal, why
not? How would you fix it?
1.3. A Word about Comments
Before our programs get much more complicated, we should see how C++ handles
comments
. Comments help the human readers of our programs. They are typically
used to summarize an algorithm, identify the purpose of a variable, or clarify an
otherwise obscure segment of code. The compiler ignores comments, so they have no
effect on the program’s behavior or performance.
Although the compiler ignores comments, readers of our code do not. Programmers
tend to believe comments even when other parts of the system documentation are out
of date. An incorrect comment is worse than no comment at all because it may
mislead the reader. When you change your code, be sure to update the comments,
too!
Kinds of Comments in C++
There are two kinds of comments in C++: single-line and paired. A single-line
comment starts with a double slash (//) and ends with a newline. Everything to the
right of the slashes on the current line is ignored by the compiler. A comment of this
kind can contain any text, including additional double slashes.
The other kind of comment uses two delimiters (/* and */) that are inherited from
C. Such comments begin with a /* and end with the next */. These comments can
include anything that is not a */, including newlines. The compiler treats everything
that falls between the /* and */ as part of the comment.
A comment pair can be placed anywhere a tab, space, or newline is permitted.
Comment pairs can span multiple lines of a program but are not required to do so.
When a comment pair does span multiple lines, it is often a good idea to indicate
visually that the inner lines are part of a multiline comment. Our style is to begin each
line in the comment with an asterisk, thus indicating that the entire range is part of a
multiline comment.
Programs typically contain a mixture of both comment forms. Comment pairs
generally are used for multiline explanations, whereas double-slash comments tend to
be used for half-line and single-line remarks:
Click here to view code image
#include <iostream>
/*
Simple main function:
www.it-ebooks.info
VB.NET PowerPoint: Read & Scan Barcode Image from PPT Slide
VB.NET PPT PDF-417 barcode scanning SDK to detect PDF-417 barcode Allow VB.NET developers to output PPT ISSN barcode scanning result into data string.
adding pdf to powerpoint slide; how to convert pdf to ppt
C# PDF Convert: How to Convert MS PPT to Adobe PDF Document
VB.NET Read: PDF Text Extract; VB.NET Read: PDF Image Extract; VB.NET Write: Insert text into PDF; C# PDF Convert: How to Convert MS PPT to Adobe PDF Document.
image from pdf to ppt; convert pdf document to powerpoint
C++ Primer, Fifth Edition
Read two numbers and write their sum
*/
int main()
{
// prompt user to enter two numbers
std::cout << "Enter two numbers:" << std::endl;
int v1 = 0, v2 = 0;   // variables to hold the input we read
std::cin >> v1 >> v2; // read input
std::cout << "The sum of " << v1 << " and " << v2
<< " is " << v1 + v2 << std::endl;
return 0;
}
Note
In this book, we italicize comments to make them stand out from the normal
program text. In actual programs, whether comment text is distinguished
from the text used for program code depends on the sophistication of the
programming environment you are using.
Comment Pairs Do Not Nest
A comment that begins with /* ends with the next */. As a result, one comment pair
cannot appear inside another. The compiler error messages that result from this kind
of mistake can be mysterious and confusing. As an example, compile the following
program on your system:
Click here to view code image
/*
comment pairs /*   */ cannot nest.
''cannot nest'' is considered source code,
as is the rest of the program
*/
int main()
{
return 0;
}
We often need to comment out a block of code during debugging. Because that
code might contain nested comment pairs, the best way to comment a block of code
is to insert single-line comments at the beginning of each line in the section we want
to ignore:
Click here to view code image
// /*
www.it-ebooks.info
C++ Primer, Fifth Edition
// * everything inside a single-line comment is ignored
// * including nested comment pairs
//  */
Exercises Section 1.3
Exercise 1.7: Compile a program that has incorrectly nested comments.
Exercise 1.8: Indicate which, if any, of the following output statements are
legal:
Click here to view code image
std::cout << "/*";
std::cout << "*/";
std::cout << /* "*/" */;
std::cout << /*  "*/" /* "/*"  */;
After you’ve predicted what will happen, test your answers by compiling a
program with each of these statements. Correct any errors you encounter.
1.4. Flow of Control
Statements normally execute sequentially: The first statement in a block is executed
first, followed by the second, and so on. Of course, few programs—including the one
to solve our bookstore problem—can be written using only sequential execution.
Instead, programming languages provide various flow-of-control statements that allow
for more complicated execution paths.
1.4.1. The while Statement
while statement repeatedly executes a section of code so long as a given condition
is true. We can use a while to write a program to sum the numbers from 1 through
10 inclusive as follows:
Click here to view code image
#include <iostream>
int main()
{
int sum = 0, val  = 1;
// keep executing the while as long as val is less than or equal to 10
while (val <= 10)  {
sum += val;   // assigns sum + val to sum
++val;        // add 1 to val
}
std::cout << "Sum of 1 to 10 inclusive is "
www.it-ebooks.info
C++ Primer, Fifth Edition
<< sum << std::endl;
return 0;
}
When we compile and execute this program, it prints
Sum of 1 to 10 inclusive is 55
As before, we start by including the iostream header and defining main. Inside
main we define two int variables: sum, which will hold our summation, and val,
which will represent each of the values from 1 through 10. We give sum an initial
value of 0 and start val off with the value 1.
The new part of this program is the while statement. A while has the form
while (condition)
statement
A while executes by (alternately) testing the 
condition
and executing the associated
statement
until the 
condition
is false. A condition is an expression that yields a result
that is either true or false. So long as 
condition
is true, 
statement
is executed. After
executing 
statement
condition
is tested again. If 
condition
is again true, then
statement
is again executed. The while continues, alternately testing the 
condition
and executing 
statement
until the 
condition
is false.
In this program, the while statement is
Click here to view code image
// keep executing the while as long as val is less than or equal to 10
while (val <= 10)  {
sum += val;   // assigns sum + val to sum
++val;        // add 1 to val
}
The condition uses the less-than-or-equal operator (the <= operator) to compare the
current value of val and 10. As long as val is less than or equal to 10, the condition
is true. If the condition is true, we execute the body of the while. In this case, that
body is a block with two statements:
Click here to view code image
{
sum += val;  // assigns sum + val to sum
++val;       // add 1 to val
}
A block is a sequence of zero or more statements enclosed by curly braces. A block is
a statement and may be used wherever a statement is required. The first statement in
this block uses the compound assignment operator (the += operator). This operator
adds its right-hand operand to its left-hand operand and stores the result in the left-
hand operand. It has essentially the same effect as writing an addition and an
www.it-ebooks.info
C++ Primer, Fifth Edition
assignment:
Click here to view code image
sum = sum + val; // assign sum + val to sum
Thus, the first statement in the block adds the value of val to the current value of
sum and stores the result back into sum.
The next statement
++val;     // add 1 to val
uses the prefix increment operator (the ++ operator). The increment operator adds 1
to its operand. Writing ++val is the same as writing val = val + 1.
After executing the while body, the loop evaluates the condition again. If the (now
incremented) value of val is still less than or equal to 10, then the body of the
while is executed again. The loop continues, testing the condition and executing the
body, until val is no longer less than or equal to 10.
Once val is greater than 10, the program falls out of the while loop and continues
execution with the statement following the while. In this case, that statement prints
our output, followed by the return, which completes our main program.
Exercises Section 1.4.1
Exercise 1.9: Write a program that uses a while to sum the numbers from
50 to 100.
Exercise 1.10: In addition to the ++ operator that adds 1 to its operand,
there is a decrement operator (--) that subtracts 1. Use the decrement
operator to write a while that prints the numbers from ten down to zero.
Exercise 1.11: Write a program that prompts the user for two integers.
Print each number in the range specified by those two integers.
1.4.2. The for Statement
In our while loop we used the variable val to control how many times we executed
the loop. We tested the value of val in the condition and incremented val in the
while body.
This pattern—using a variable in a condition and incrementing that variable in the
body—happens so often that the language defines a second statement, the for
statement, that abbreviates code that follows this pattern. We can rewrite this
program using a for loop to sum the numbers from 1 through 10 as follows:
Click here to view code image
www.it-ebooks.info
C++ Primer, Fifth Edition
#include <iostream>
int main()
{
int sum = 0;
// sum values from 1 through 10 inclusive
for (int val = 1; val <= 10; ++val)
sum += val;  // equivalent to sum = sum + val
std::cout << "Sum of 1 to 10 inclusive is "
<< sum << std::endl;
return 0;
}
As before, we define sum and initialize it to zero. In this version, we define val as
part of the for statement itself:
Click here to view code image
for (int val = 1; val <= 10; ++val)
sum += val;
Each for statement has two parts: a header and a body. The header controls how
often the body is executed. The header itself consists of three parts: an 
init-
statement
, a 
condition
, and an 
expression
. In this case, the 
init-statement
int val = 1;
defines an int object named val and gives it an initial value of 1. The variable val
exists only inside the for; it is not possible to use val after this loop terminates. The
init-statement
is executed only once, on entry to the for. The 
condition
val <= 10
compares the current value in val to 10. The 
condition
is tested each time through
the loop. As long as val is less than or equal to 10, we execute the for body. The
expression
is executed after the for body. Here, the 
expression
++val
uses the prefix increment operator, which adds 1 to the value of val. After executing
the 
expression
, the for retests the 
condition
. If the new value of val is still less than
or equal to 10, then the for loop body is executed again. After executing the body,
val is incremented again. The loop continues until the 
condition
fails.
In this loop, the for body performs the summation
Click here to view code image
sum += val; // equivalent to sum = sum + val
To recap, the overall execution flow of this for is:
1. Create val and initialize it to 1.
2. Test whether val is less than or equal to 10. If the test succeeds, execute the
for body. If the test fails, exit the loop and continue execution with the first
www.it-ebooks.info
Documents you may be interested
Documents you may be interested