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

(Ebook) An Introduction to Programming with C++ by Diane Zak ISBN 9781285860114, 128586011X instant download

The document is an overview of the ebook 'An Introduction to Programming with C++' by Diane Zak, including details about its editions and related programming ebooks. It contains information about the content structure, chapters, and additional resources available for download. The ebook is published by Cengage Learning and is intended for educational purposes in programming.

Uploaded by

rebarraafimi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views

(Ebook) An Introduction to Programming with C++ by Diane Zak ISBN 9781285860114, 128586011X instant download

The document is an overview of the ebook 'An Introduction to Programming with C++' by Diane Zak, including details about its editions and related programming ebooks. It contains information about the content structure, chapters, and additional resources available for download. The ebook is published by Cengage Learning and is intended for educational purposes in programming.

Uploaded by

rebarraafimi
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 59

(Ebook) An Introduction to Programming with C++

by Diane Zak ISBN 9781285860114, 128586011X


download

https://ebooknice.com/product/an-introduction-to-programming-
with-c-5291684

Explore and download more ebooks at ebooknice.com


Here are some recommended products that we believe you will be
interested in. You can click the link to download.

(Ebook) An Introduction to Programming with C++, 6th Edition by Diane


Zak ISBN 9780538466523, 0538466529

https://ebooknice.com/product/an-introduction-to-programming-
with-c-6th-edition-2427428

(Ebook) Programming with Microsoft Visual Basic 2012 by Diane Zak ISBN
9781285077925, 128507792X

https://ebooknice.com/product/programming-with-microsoft-visual-
basic-2012-6809572

(Ebook) Programming with Microsoft Visual Basic 2015 by Diane Zak ISBN
9781285860268, 1285860268

https://ebooknice.com/product/programming-with-microsoft-visual-
basic-2015-5312274

(Ebook) Programming with Microsoft Visual Basic 2017 by Diane Zak ISBN
9781337102124, 1337102121

https://ebooknice.com/product/programming-with-microsoft-visual-
basic-2017-6732858
(Ebook) Programming with Microsoft Visual Basic 2010, 5th Edition by
Diane Zak ISBN 1111529434

https://ebooknice.com/product/programming-with-microsoft-visual-
basic-2010-5th-edition-2357262

(Ebook) Clearly Visual Basic: Programming with Microsoft Visual Basic


2012 by Diane Zak ISBN 9781285084107, 1285084101

https://ebooknice.com/product/clearly-visual-basic-programming-with-
microsoft-visual-basic-2012-4644122

(Ebook) Clearly Visual Basic: Programming with Microsoft Visual Basic


2010 by Diane Zak ISBN 9781111530150, 1111530157

https://ebooknice.com/product/clearly-visual-basic-programming-with-
microsoft-visual-basic-2010-2382420

(Ebook) Primary Mathematics Workbook 2B by Jennifer Hoerst ISBN


9780761469933, 0761469931

https://ebooknice.com/product/primary-mathematics-workbook-2b-23520620

(Ebook) Primary Mathematics Textbook 2B by Jennifer Hoerst ISBN


9780761469797, 0761469796

https://ebooknice.com/product/primary-mathematics-textbook-2b-23519854
An Introduction to
Programming with C++

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Eighth Edition

An Introduction to
Programming with C++

Diane Zak

Australia • Brazil • Mexico • Singapore • United Kingdom • United States

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
This is an electronic version of the print textbook. Due to electronic rights restrictions,
some third party content may be suppressed. Editorial review has deemed that any suppressed
content does not materially affect the overall learning experience. The publisher reserves the right
to remove content from this title at any time if subsequent rights restrictions require it. For
valuable information on pricing, previous editions, changes to current editions, and alternate
formats, please visit www.cengage.com/highered to search by ISBN#, author, title, or keyword for
materials in your areas of interest.

Important Notice: Media content referenced within the product description or the product
text may not be available in the eBook version.

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
An Introduction to Programming with C++, © 2016 Cengage Learning
Eighth Edition
WCN: 02-200-203
Diane Zak
Product Director: Kathleen McMahon ALL RIGHTS RESERVED. No part of this work covered by the copyright
herein may be reproduced, transmitted, stored or used in any form or by
Product Team Manager: Kristin McNary any means graphic, electronic, or mechanical, including but not limited to
Senior Product Manager: Jim Gish photocopying, recording, scanning, digitizing, taping, Web distribution,
Senior Content Developer: Alyssa Pratt information networks, or information storage and retrieval systems, except
as permitted under Section 107 or 108 of the 1976 United States Copyright
Product Assistant: Abigail Pufpaff
Act, without the prior written permission of the publisher.
Marketing Manager: Eric LaScola
Senior Production Director:
For product information and technology assistance, contact us at
Wendy Troeger Cengage Learning Customer & Sales Support, 1-800-354-9706
Production Director: Patty Stephan For permission to use material from this text or product, submit all
Senior Content Project Manager: requests online at www.cengage.com/permissions
Jennifer K. Feltri-George Further ­permissions ­questions can be emailed to
[email protected]
Managing Art Director: Jack Pendleton
Cover image(s):
Library of Congress Control Number: 2015940474
© Rudchenko Liliia/Shutterstock.com
ISBN: 978-1-285-86011-4
Unless otherwise noted all screenshots are
Cengage Learning
courtesy of Microsoft Corporation
20 Channel Center Street
Open Clip art source: OpenClipArt Boston, MA 02210
USA

Cengage Learning is a leading provider of customized learning solutions


with employees residing in nearly 40 different countries and sales in more
than 125 countries around the world. Find your local representative at
www.cengage.com

Cengage Learning products are represented in Canada by


Nelson Education, Ltd.

For your course and learning solutions, visit www.cengage.com


Purchase any of our products at your local college store or at our
preferred online store www.cengagebrain.com
Notice to the Reader
Publisher does not warrant or guarantee any of the products described herein or
perform any independent analysis in connection with any of the product informa-
tion contained herein. Publisher does not assume, and expressly disclaims, any
obligation to obtain and include information other than that provided to it by the
manufacturer. The reader is expressly warned to consider and adopt all safety
­precautions that might be indicated by the activities described herein and to avoid
all potential hazards. By following the instructions contained herein, the reader
­willingly assumes all risks in connection with such instructions. The publisher
makes no representations or warranties of any kind, including but not limited to,
the ­warranties of ­fitness for particular purpose or merchantability, nor are any such
­representations implied with respect to the material set forth herein, and the
­publisher takes no responsibility with respect to such material. The publisher shall
not be liable for any special, consequential, or exemplary damages resulting, in
whole or part, from the readers’ use of, or reliance upon, this material.

Printed in the United States of America


Print Number: 01 Print Year: 2016

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
v

Brief Contents

Pref ace . . . . . . . . . . . . . . . . . . . . . . . . . xi v
Read T h is B ef o re You Begi n . . . . . . . . . . . . . . . xv i i i
Chapt e r 1 A n I n t ro du ct io n to Programmi ng . . . . . . . . . . . . . . 1
Chapt e r 2 B eg in n in g t h e Probl em- Sol v i ng Process . . . . . . . . . . . 23
Chapt e r 3 Var iables an d Constants . . . . . . . . . . . . . . . . . 51
Chapt e r 4 Co m plet in g t h e Probl em- Sol v i ng Process . . . . . . . . . . 75
Chapt e r 5 T h e Select io n Structure . . . . . . . . . . . . . . . . . 113
Chapt e r 6 M o re o n t h e Selecti on Structure . . . . . . . . . . . . . 157
Chapt e r 7 T h e Repet it io n Structure . . . . . . . . . . . . . . . . 201
C HAPT E R 8 M o re o n t h e Repeti ti on Structure . . . . . . . . . . . . . 247
C HAPT E R 9 Valu e-Ret u r n in g Functi ons . . . . . . . . . . . . . . . . 279
C HAPT E R 10 Vo id F u n ct io n s . . . . . . . . . . . . . . . . . . . . . 329
C HAPT E R 11 On e-Dim en s io n a l Array s . . . . . . . . . . . . . . . . . 369
C HAPT E R 12 Tw o -Dim en s io n a l Array s . . . . . . . . . . . . . . . . . 425
C HAPT E R 13 St r in g s . . . . . . . . . . . . . . . . . . . . . . . . 461
C HAPT E R 14 Sequ en t ial A ccess Fi l es . . . . . . . . . . . . . . . . . 511
C HAPT E R 15 Clas s es an d Obj ects . . . . . . . . . . . . . . . . . . 551
A pp endix A C+ + Keyw o rds . . . . . . . . . . . . . . . . . . . . . 593
A pp endix B A SC II Co des . . . . . . . . . . . . . . . . . . . . . . 595
A pp endix C Co m m o n Syn t ax Errors . . . . . . . . . . . . . . . . . 597
A pp endix D Ho w To B o xes . . . . . . . . . . . . . . . . . . . . . 599
I n dex . . . . . . . . . . . . . . . . . . . . . . . . . 603

The Answers.pdf and data files can be found online at CengageBrain.com.

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
vi

Contents

Pref ace . . . . . . . . . . . . . . . . . . . . . . . . . xi v
R ead T h is B ef o re Yo u Begi n . . . . . . . . . . . . . . . xv i i i

Chapt e r 1 A n I n t ro du ct io n t o Programmi ng . . . . . . . . . . . . . . 1
Programming a Computer . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
The Programmer’s Job . . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
Employment Opportunities . . . . . . . . . . . . . . . . . . . . . . . . . . . 2
A Brief History of Programming Languages . . . . . . . . . . . . . . . . . . . . 3
Machine Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
Assembly Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 3
High-Level Languages . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
Control Structures . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
The Sequence Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
The Selection Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
The Repetition Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
LAB 1-1 Stop and Analyze . . . . . . . . . . . . . . . . . . . . . . . . . . 10
LAB 1-2 Plan and Create . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
LAB 1-3 Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
LAB 1-4 What’s Missing? . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

Chapter 2 B eg in n in g t h e Pro blem- Sol v i ng Process . . . . . . . . . . . 23


Problem Solving . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Solving Everyday Problems . . . . . . . . . . . . . . . . . . . . . . . . . . 24
Creating Computer Solutions to Problems . . . . . . . . . . . . . . . . . . . . 25
Step 1—Analyze the Problem . . . . . . . . . . . . . . . . . . . . . . . . . 26
Hints for Analyzing Problems . . . . . . . . . . . . . . . . . . . . . . . . . 26
Step 2—Plan the Algorithm . . . . . . . . . . . . . . . . . . . . . . . . . . 28
Step 3—Desk-Check the Algorithm . . . . . . . . . . . . . . . . . . . . . . . 31
The Gas Mileage Problem . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
LAB 2-1 Stop and Analyze . . . . . . . . . . . . . . . . . . . . . . . . . . 36
LAB 2-2 Plan and Create . . . . . . . . . . . . . . . . . . . . . . . . . . . 36
LAB 2-3 Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
LAB 2-4 What’s Missing? . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
LAB 2-5 Desk-Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
LAB 2-6 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
vii
 

Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Chapt er 3 Var iables an d Constants . . . . . . . . . . . . . . . . . 51


Beginning Step 4 in the Problem-Solving Process . . . . . . . . . . . . . . . . 52
Internal Memory . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
Selecting a Name for a Memory Location . . . . . . . . . . . . . . . . . . . . 53
Revisiting the Addison O’Reilly Problem from Chapter 2 . . . . . . . . . . . . . 54
Selecting a Data Type for a Memory Location . . . . . . . . . . . . . . . . . . 55
How Data Is Stored in Internal Memory . . . . . . . . . . . . . . . . . . . . 57
Selecting an Initial Value for a Memory Location . . . . . . . . . . . . . . . . . 60
Declaring a Memory Location . . . . . . . . . . . . . . . . . . . . . . . . . 62
LAB 3-1 Stop and Analyze . . . . . . . . . . . . . . . . . . . . . . . . . . 64
LAB 3-2 Plan and Create . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
LAB 3-3 Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
LAB 3-4 What’s Missing? . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
LAB 3-5 Desk-Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
LAB 3-6 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Chapt er 4 Co m plet in g t h e Probl em- Sol v i ng Process . . . . . . . . . . 75


Finishing Step 4 in the Problem-Solving Process . . . . . . . . . . . . . . . . . 76
Getting Data from the Keyboard . . . . . . . . . . . . . . . . . . . . . . . . 76
Displaying Messages on the Computer Screen . . . . . . . . . . . . . . . . . . 78
Arithmetic Operators in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . 81
Type Conversions in Arithmetic Expressions . . . . . . . . . . . . . . . . . . 82
The static_cast Operator . . . . . . . . . . . . . . . . . . . . . . . . . 83
Assignment Statements . . . . . . . . . . . . . . . . . . . . . . . . . . . . 84
Arithmetic Assignment Operators . . . . . . . . . . . . . . . . . . . . . . . 87
Step 5—Desk-Check the Program . . . . . . . . . . . . . . . . . . . . . . . 88
Step 6—Evaluate and Modify the Program . . . . . . . . . . . . . . . . . . . . 90
LAB 4-1 Stop and Analyze . . . . . . . . . . . . . . . . . . . . . . . . . . 94
LAB 4-2 Plan and Create . . . . . . . . . . . . . . . . . . . . . . . . . . . 95
LAB 4-3 Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
LAB 4-4 What’s Missing? . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
LAB 4-5 Desk-Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
LAB 4-6 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 104

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
viii
Contents 

Chapt e r 5 T h e Select io n St r u ct u re . . . . . . . . . . . . . . . . . 113


Making Decisions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
Flowcharting a Selection Structure . . . . . . . . . . . . . . . . . . . . . . . 116
Coding Selection Structures in C++ . . . . . . . . . . . . . . . . . . . . . . 118
Comparison Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120
Swapping Numeric Values . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
Displaying the Area or Circumference . . . . . . . . . . . . . . . . . . . . . 124
Logical Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 126
Using the Truth Tables . . . . . . . . . . . . . . . . . . . . . . . . . . . . 129
A Different Version of the Area or Circumference Program . . . . . . . . . . . . 130
Summary of Operators . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132
Converting a Character to Uppercase or Lowercase . . . . . . . . . . . . . . . 133
Formatting Numeric Output . . . . . . . . . . . . . . . . . . . . . . . . . . 134
LAB 5-1 Stop and Analyze . . . . . . . . . . . . . . . . . . . . . . . . . . 137
LAB 5-2 Plan and Create . . . . . . . . . . . . . . . . . . . . . . . . . . . 138
LAB 5-3 Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
LAB 5-4 What’s Missing? . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
LAB 5-5 Desk-Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 143
LAB 5-6 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 144
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 145
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 146
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 147

Chapt er 6 M o re o n t h e Select io n Structure . . . . . . . . . . . . . 1 57


Nested Selection Structures . . . . . . . . . . . . . . . . . . . . . . . . . . 158
Flowcharting a Nested Selection Structure . . . . . . . . . . . . . . . . . . . 161
Coding a Nested Selection Structure . . . . . . . . . . . . . . . . . . . . . . 163
Logic Errors in Selection Structures . . . . . . . . . . . . . . . . . . . . . . 165
First Logic Error: Using a Compound Condition Rather Than a Nested
Selection Structure . . . . . . . . . . . . . . . . . . . . . . . . . . . . 167
Second Logic Error: Reversing the Outer and Nested Decisions . . . . . . . . . 169
Third Logic Error: Using an Unnecessary Nested Selection Structure . . . . . . 169
Fourth Logic Error: Including an Unnecessary Comparison in a Condition . . . . 170
Multiple-Alternative Selection Structures . . . . . . . . . . . . . . . . . . . . 173
The switch Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . 174
LAB 6-1 Stop and Analyze . . . . . . . . . . . . . . . . . . . . . . . . . . 177
LAB 6-2 Plan and Create . . . . . . . . . . . . . . . . . . . . . . . . . . . 178
LAB 6-3 Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
LAB 6-4 What’s Missing? . . . . . . . . . . . . . . . . . . . . . . . . . . . 182
LAB 6-5 Desk-Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
LAB 6-6 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 183
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 185
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 187

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
ix
 

Chapt e r 7 T h e Repet it io n Structure . . . . . . . . . . . . . . . . 201


Repeating Program Instructions . . . . . . . . . . . . . . . . . . . . . . . . 202
Using a Pretest Loop to Solve a Real-World Problem . . . . . . . . . . . . . . . 204
Flowcharting a Pretest Loop . . . . . . . . . . . . . . . . . . . . . . . . . 206
The while Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 208
Using Counters and Accumulators . . . . . . . . . . . . . . . . . . . . . . . 211
The Stock Price Program . . . . . . . . . . . . . . . . . . . . . . . . . . 213
Counter-Controlled Pretest Loops . . . . . . . . . . . . . . . . . . . . . . . 217
The for Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 219
The Total Payroll Program . . . . . . . . . . . . . . . . . . . . . . . . . . 220
The Tip Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 223
Another Version of the Commission Program . . . . . . . . . . . . . . . . . 224
The Even Integers Program . . . . . . . . . . . . . . . . . . . . . . . . . 226
LAB 7-1 Stop and Analyze . . . . . . . . . . . . . . . . . . . . . . . . . . 229
LAB 7-2 Plan and Create . . . . . . . . . . . . . . . . . . . . . . . . . . . 230
LAB 7-3 Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
LAB 7-4 What’s Missing? . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
LAB 7-5 Desk-Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
LAB 7-6 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 235
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 236
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 239

Chapter 8 M o re o n t h e Repeti ti on Structure . . . . . . . . . . . . . 247


Posttest Loops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 248
Flowcharting a Posttest Loop . . . . . . . . . . . . . . . . . . . . . . . . . 250
The do while Statement . . . . . . . . . . . . . . . . . . . . . . . . . . . 252
Nested Repetition Structures . . . . . . . . . . . . . . . . . . . . . . . . . 254
The Clock Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255
The Car Depreciation Program . . . . . . . . . . . . . . . . . . . . . . . . . 258
LAB 8-1 Stop and Analyze . . . . . . . . . . . . . . . . . . . . . . . . . . 262
LAB 8-2 Plan and Create . . . . . . . . . . . . . . . . . . . . . . . . . . . 263
LAB 8-3 Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
LAB 8-4 What’s Missing? . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
LAB 8-5 Desk-Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 267
LAB 8-6 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 268
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 269
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 270

Chapter 9 Valu e-Ret u r n in g Functi ons . . . . . . . . . . . . . . . . 279


Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 280
Value-Returning Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . 281
The pow Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 281

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
x
Contents 

The sqrt Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 282


The Hypotenuse Program . . . . . . . . . . . . . . . . . . . . . . . . . . 283
The rand , srand , and time Functions . . . . . . . . . . . . . . . . . . . . . 285
The Guessing Game Program . . . . . . . . . . . . . . . . . . . . . . . . 289
Creating Program-Defined Value-Returning Functions . . . . . . . . . . . . . . . 291
Calling a Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 293
The Savings Account Program . . . . . . . . . . . . . . . . . . . . . . . . 295
Function Prototypes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 298
Completing the Savings Account Program . . . . . . . . . . . . . . . . . . . 298
The Scope and Lifetime of a Variable . . . . . . . . . . . . . . . . . . . . . . 304
LAB 9-1 Stop and Analyze . . . . . . . . . . . . . . . . . . . . . . . . . . 305
LAB 9-2 Plan and Create . . . . . . . . . . . . . . . . . . . . . . . . . . . 307
LAB 9-3 Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
LAB 9-4 What’s Missing? . . . . . . . . . . . . . . . . . . . . . . . . . . . 314
LAB 9-5 Desk-Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315
LAB 9-6 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 316
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 317
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 318
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 320

Chapt er 10 Vo id F u n ct io n s . . . . . . . . . . . . . . . . . . . . . 329
Functions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 330
Creating Program-Defined Void Functions . . . . . . . . . . . . . . . . . . . . 331
Passing Variables to a Function . . . . . . . . . . . . . . . . . . . . . . . . 337
Reviewing Passing Variables by Value . . . . . . . . . . . . . . . . . . . . . 338
Passing Variables by Reference . . . . . . . . . . . . . . . . . . . . . . . 341
LAB 10-1 Stop and Analyze . . . . . . . . . . . . . . . . . . . . . . . . . 345
LAB 10-2 Plan and Create . . . . . . . . . . . . . . . . . . . . . . . . . . 347
LAB 10-3 Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
LAB 10-4 What’s Missing? . . . . . . . . . . . . . . . . . . . . . . . . . . 356
LAB 10-5 Desk-Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356
LAB 10-6 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 357
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 358
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 360

Chapter 11 On e-Dim en s io n al Ar r ay s . . . . . . . . . . . . . . . . . 369


Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
One-Dimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . . . . . 370
Declaring and Initializing a One-Dimensional Array . . . . . . . . . . . . . . . 371
Entering Data into a One-Dimensional Array . . . . . . . . . . . . . . . . . . 373
Displaying the Contents of a One-Dimensional Array . . . . . . . . . . . . . . 375
The Calories Program . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376
Passing a One-Dimensional Array to a Function . . . . . . . . . . . . . . . . . 382
Calculating a Total and an Average . . . . . . . . . . . . . . . . . . . . . . . 384

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xi
 

The Social Media Program—Searching an Array . . . . . . . . . . . . . . . . . 385


The Currency Converter Program—Accessing an Individual Element . . . . . . . . 388
The Highest Number Program—Finding the Highest Value . . . . . . . . . . . . 391
Parallel One-Dimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . 396
Sorting the Data Stored in a One-Dimensional Array . . . . . . . . . . . . . . . 399
LAB 11-1 Stop and Analyze . . . . . . . . . . . . . . . . . . . . . . . . . 406
LAB 11-2 Plan and Create . . . . . . . . . . . . . . . . . . . . . . . . . . 407
LAB 11-3 Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
LAB 11-4 What’s Missing? . . . . . . . . . . . . . . . . . . . . . . . . . . 411
LAB 11-5 Desk-Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . 411
LAB 11-6 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 412
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 414
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 416

Chapter 12 Tw o -Dim en s io n al Array s . . . . . . . . . . . . . . . . . 425


Using Two-Dimensional Arrays . . . . . . . . . . . . . . . . . . . . . . . . . 426
Declaring and Initializing a Two-Dimensional Array . . . . . . . . . . . . . . . 427
Entering Data into a Two-Dimensional Array . . . . . . . . . . . . . . . . . . 428
Displaying the Contents of a Two-Dimensional Array . . . . . . . . . . . . . . 431
The Chapton Company Program . . . . . . . . . . . . . . . . . . . . . . . 432
Accumulating the Values Stored in a Two-Dimensional Array . . . . . . . . . . . 434
Searching a Two-Dimensional Array . . . . . . . . . . . . . . . . . . . . . . 436
Passing a Two-Dimensional Array to a Function . . . . . . . . . . . . . . . . . 443
LAB 12-1 Stop and Analyze . . . . . . . . . . . . . . . . . . . . . . . . . 444
LAB 12-2 Plan and Create . . . . . . . . . . . . . . . . . . . . . . . . . . 446
LAB 12-3 Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
LAB 12-4 What’s Missing? . . . . . . . . . . . . . . . . . . . . . . . . . . 449
LAB 12-5 Desk-Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . 449
LAB 12-6 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 450
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 451
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 452

Chapter 13 St r in g s . . . . . . . . . . . . . . . . . . . . . . . . 461
The string Data Type . . . . . . . . . . . . . . . . . . . . . . . . . . . . 462
Getting String Input from the Keyboard . . . . . . . . . . . . . . . . . . . . . 462
The Primrose Auction House Program . . . . . . . . . . . . . . . . . . . . . 464
The ignore Function . . . . . . . . . . . . . . . . . . . . . . . . . . . . 468
Determining the Number of Characters in a string Variable . . . . . . . . . . . 471
Accessing the Characters in a string Variable . . . . . . . . . . . . . . . . . 473
Searching the Contents of a string Variable . . . . . . . . . . . . . . . . . . 477
Removing Characters from a string Variable . . . . . . . . . . . . . . . . . . 481
Replacing Characters in a string Variable . . . . . . . . . . . . . . . . . . . 484
Inserting Characters Within a string Variable . . . . . . . . . . . . . . . . . 485

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xii
Contents 

Duplicating a Character Within a string Variable . . . . . . . . . . . . . . . . 487


Concatenating Strings . . . . . . . . . . . . . . . . . . . . . . . . . . . . 489
LAB 13-1 Stop and Analyze . . . . . . . . . . . . . . . . . . . . . . . . . 491
LAB 13-2 Plan and Create . . . . . . . . . . . . . . . . . . . . . . . . . . 492
LAB 13-3 Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 497
LAB 13-4 What’s Missing? . . . . . . . . . . . . . . . . . . . . . . . . . . 497
LAB 13-5 Desk-Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
LAB 13-6 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 498
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 499
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 500
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 501
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504

Chapter 14 Sequ en t ial A cces s F iles . . . . . . . . . . . . . . . . . 511


File Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Creating File Objects . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 512
Opening a Sequential Access File . . . . . . . . . . . . . . . . . . . . . . . 514
Determining Whether a File Was Opened Successfully . . . . . . . . . . . . . 516
Writing Data to a Sequential Access File . . . . . . . . . . . . . . . . . . . . 518
Reading Information from a Sequential Access File . . . . . . . . . . . . . . . 519
Testing for the End of a Sequential Access File . . . . . . . . . . . . . . . . 522
Closing a Sequential Access File . . . . . . . . . . . . . . . . . . . . . . . . 522
The eBook Collection Program . . . . . . . . . . . . . . . . . . . . . . . . . 523
LAB 14-1 Stop and Analyze . . . . . . . . . . . . . . . . . . . . . . . . . 528
LAB 14-2 Plan and Create . . . . . . . . . . . . . . . . . . . . . . . . . . 530
LAB 14-3 Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 539
LAB 14-4 What’s Missing? . . . . . . . . . . . . . . . . . . . . . . . . . . 540
LAB 14-5 Desk-Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . 540
LAB 14-6 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 541
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 542
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 543
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 544

Chapter 15 Clas s es an d Object s . . . . . . . . . . . . . . . . . . 551


Object-Oriented Terminology . . . . . . . . . . . . . . . . . . . . . . . . . . 552
Defining a Class in C++ . . . . . . . . . . . . . . . . . . . . . . . . . . . . 553
Instantiating an Object and Referring to a Public Member . . . . . . . . . . . . 556
Exa mple 1—A Class That Contains a Private Data Member
and Public Member Methods . . . . . . . . . . . . . . . . . . . . . . . 557
Header Files . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 561
Example 2—A Class That Contains a Parameterized Constructor . . . . . . . . . 562
Example 3—Reusing a Class . . . . . . . . . . . . . . . . . . . . . . . . . 565
Example 4—A Class That Contains Overloaded Methods . . . . . . . . . . . . . 566
LAB 15-1 Stop and Analyze . . . . . . . . . . . . . . . . . . . . . . . . . 569
LAB 15-2 Plan and Create . . . . . . . . . . . . . . . . . . . . . . . . . . 571
LAB 15-3 Modify . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xiii
 

LAB 15-4 What’s Missing? . . . . . . . . . . . . . . . . . . . . . . . . . . 576


LAB 15-5 Desk-Check . . . . . . . . . . . . . . . . . . . . . . . . . . . . 576
LAB 15-6 Debug . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
Chapter Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 578
Key Terms . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 579
Review Questions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 580
Exercises . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 581

App endix A C+ + Keyw o rds . . . . . . . . . . . . . . . . . . . . . 593

A pp endix B A SC II Co des . . . . . . . . . . . . . . . . . . . . . . 595

A pp endix C Co m m o n Syn t ax Errors . . . . . . . . . . . . . . . . . 597

A pp endix D H o w To B o xes . . . . . . . . . . . . . . . . . . . . . 599

In dex . . . . . . . . . . . . . . . . . . . . . . . . . 603

The Answers.pdf and data files can be found online at CengageBrain.com.

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xiv

Preface

An Introduction to Programming with C++, Eighth Edition uses the C++ programming language
to teach programming concepts. This book is designed for a beginning programming course.
Although the book provides instructions for using several specific C++ compilers (such as
® ®
Microsoft Visual C++ , Dev-C++, and Code::Blocks), it can be used with most C++ compilers,
often with little or no modification.

Organization and Coverage


An Introduction to Programming with C++, Eighth Edition contains 15 chapters and several
appendices. In the chapters, students with no previous programming experience learn how to
plan and create well-structured programs. They also learn how to write programs using the
sequence, selection, and repetition structures, as well as how to create and manipulate functions,
sequential access files, arrays, strings, classes, and objects.

Approach
An Introduction to Programming with C++, Eighth Edition is distinguished from other textbooks
because of its unique approach, which motivates students by demonstrating why they need to
learn the concepts and skills presented. Each chapter begins with an introduction to one or more
programming concepts. The concepts are illustrated with code examples and sample programs.
The sample programs allow the student to observe how the current concept can be used before
they are introduced to the next concept. The concepts are taught using standard C++ commands.
Following the concept portion in each chapter (except Chapter 1) are six labs: Stop and Analyze,
Plan and Create, Modify, What’s Missing?, Desk-Check, and Debug. Each lab teaches students
how to apply the chapter concepts; however, each does so in a different way.

Features
An Introduction to Programming with C++, Eighth Edition is an exceptional textbook because it
also includes the following features:
READ THIS BEFORE YOU BEGIN This section is consistent with Cengage Learning’s
unequaled commitment to helping instructors introduce technology into the classroom.
­Technical considerations and assumptions about hardware, software, and default settings are
listed in one place to help instructors save time and eliminate unnecessary aggravation.

LABS  Each chapter (except Chapter 1) contains six labs that teach students how to
apply the concepts taught in the chapter to real-world problems. In the first lab,
which is the Stop and Analyze lab, students are expected to stop and analyze an
­existing program. Students plan and create a program in the Plan and Create lab,
which is the second lab. The third lab is the Modify lab. This lab requires students to

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xv
Organization and Coverage 

modify an existing program. In the fourth lab, which is the new What’s Missing? lab, students are
asked to find one or more missing instructions in a program. However, before they can
­accomplish this task, they must put the existing instructions in the proper order. The fifth lab is
the Desk-Check lab, in which students follow the logic of a program by desk-checking it. The
sixth lab is the Debug lab. This lab gives students an opportunity to find and correct the errors in
an existing program. Answers to the labs are provided in the Answers.pdf file available at
­CengageBrain.com. Providing the answers allows students to determine whether they have
­mastered the material covered in the chapter.

HOW TO BOXES The How To boxes in each chapter summarize important concepts and
­ rovide a quick reference for students. The How To boxes that introduce new statements,
p
­operators, stream manipulators, or functions contain the syntax and examples of using the syntax.
STANDARD C++ SYNTAX Like the previous edition of the book, this edition uses the standard
C++ syntax in the examples, sample programs, and exercises in each chapter.
PSEUDOCODE AND FLOWCHARTS Both planning tools are shown for many of the programs
within the chapters.
TIP  These notes provide additional information about the current concept. Examples
include alternative ways of writing statements, warnings about common mistakes made
when using a particular command, and reminders of related concepts learned in previous
chapters.
MINI-QUIZZES Mini-Quizzes are strategically placed to test students’ knowledge at various
points in each chapter. Answers to the quiz questions are provided in the Answers.pdf file,
allowing students to determine whether they have mastered the material covered thus far before
continuing with the chapter.
WANT MORE INFO? FILES These notes direct students to files that accompany
each chapter in the book. The files contain additional examples and further
­explanations of the concepts covered in the chapter. The files are in PDF format and
are available online at CengageBrain.com. Search for the ISBN associated with your
book (from the back cover of your book) using the search box at the top of the page.
This will take you to the product page where free companion resources can be found.
SUMMARY A Summary section follows the labs in each chapter. The Summary section recaps
the programming concepts and commands covered in the chapter.
KEY TERMS Following the Summary section in each chapter is a listing of the key terms
­introduced throughout the chapter, along with their definitions.
REVIEW QUESTIONS Review Questions follow the Key Terms section in each chapter.
The Review Questions test the students’ understanding of what they learned in the chapter.
PAPER AND PENCIL EXERCISES The Review Questions are followed by Pencil
and Paper Exercises, which are designated as TRY THIS, MODIFY THIS,
­INTRODUCTORY, INTERMEDIATE, ADVANCED, and SWAT THE BUGS. The
answers to the TRY THIS Exercises are provided at the end of the chapter. The
ADVANCED Exercises provide practice in applying cumulative programming k­ nowledge or
allow students to explore alternative solutions to programming tasks. The SWAT THE BUGS
­Exercises provide an opportunity for students to detect and correct errors in one or more lines
of code.

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xvi
Contents Organization and Coverage

COMPUTER EXERCISES The Computer Exercises provide students with additional


Computer
practice of the skills and concepts they learned in the chapter. The Computer
­Exercises are designated as TRY THIS, MODIFY THIS, INTRODUCTORY,
­INTERMEDIATE, ADVANCED, and SWAT THE BUGS. The answers to the
TRY THIS Exercises are provided at the end of the chapter. The ADVANCED Exercises provide
practice in applying cumulative programming knowledge or allow students to explore a­ lternative
solutions to programming tasks. The SWAT THE BUGS Exercises provide an opportunity for
students to detect and correct errors in an existing program.

New to this Edition!


ANSWERS.PDF FILE The answers to the Mini-Quizzes and Labs are now contained
in the Answers.pdf file (rather than in Appendix A); this file is available to students at
­CengageBrain.com.
NEW EXAMPLES, PROGRAMS, LABS, QUESTIONS, AND EXERCISES  The chapters
­contain new code examples, sample programs, Labs, Review Questions, and Exercises.
WHAT’S MISSING? LAB The chapters contain a new Lab called What’s Missing?.
In the What’s Missing? Lab, students must determine the one or more missing
­instructions in a program. However, before they can do this, they must first put the
existing instructions in the proper order.

VIDEOS These notes direct students to videos that accompany each chapter in the
book. Many of the videos have been revised from the previous edition. The videos
explain and/or demonstrate one or more of the chapter’s concepts. The videos are
­available online at CengageBrain.com. Search for the ISBN associated with your book (from the
back cover of your book) using the search box at the top of the page. This will take you to the
product page where free companion resources can be found.
INSTALLATION VIDEOS These videos, which have been revised from the previous
edition, show students how to install various C++ compilers (such as Microsoft Visual
C++, Dev-C++, and Code::Blocks). The videos are named Ch04-Installation
­developmentTool, where developmentTool is the name of the C++ development tool ­covered in
the video. The videos are available online at CengageBrain.com. Search for the ISBN associated
with your book (from the back cover of your book) using the search box at the top of the page.
This will take you to the product page where free companion resources can be found.
STEP-BY-STEP INSTRUCTIONS This book is accompanied by files that contain ­step-by-step
instructions for completing Labs 4-2, 4-3, 4-4, 4-6, 5-2, 5-3, and 5-6 using various
C++ ­compilers. The files, which have been revised from the previous edition, are named
Ch04-Lab4-X developmentTool.pdf and Ch05-Lab5-X developmentTool.pdf, where X represents
the lab number, and developmentTool is the name of the C++ development tool covered in the
file. The files are in PDF format and are available online at www.cengagebrain.com. Search for
the ISBN associated with your book (from the back cover of your book) using the search box at
the top of the page. This will take you to the product page where free companion resources can
be found.
APPENDICES Appendices B, C, D, and E are now Appendices A, B, C, and D. The information
in Appendix A from the previous edition is now contained in the Answers.pdf file.
POW FUNCTION The pow function is now covered along with the built-in value-returning
functions in Chapter 9 (rather than in Chapter 8).

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xvii
Acknowledgments 

Instructor Resources
The following resources are available on the Instructor Companion Site (sso.cengage.com) to
instructors who have adopted this book. Search for this title by ISBN, title, author, or keyword.
From the Product Overview page, select the Instructor’s Companion Site link to access your
complementary resources.
INSTRUCTOR’S MANUAL The Instructor’s Manual follows the text chapter by chapter to assist
you in planning and organizing an effective, engaging course. The manual includes learning
objectives, chapter overviews, ideas for classroom activities, and additional resources. A sample
course Syllabus is also available.
TEST BANK Cengage Learning Testing Powered by Cognero is a flexible, online system that
allows you to:
•• author, edit, and manage test bank content from multiple Cengage Learning solutions
•• create multiple test versions in an instant
•• deliver tests from your LMS, your classroom or wherever you want

POWERPOINT PRESENTATIONS This book comes with Microsoft PowerPoint slides for
each chapter. These are included as a teaching aid for classroom presentation, to make ­available
to students on the network for chapter review, or to be printed for classroom distribution.
­Instructors are encouraged to customize the slides to fit their course needs, and may add slides
to cover additional topics using the complete Figure Files from the text, also available on the
Instructor Companion Site.
SOLUTION FILES Solutions to the Labs, Review Questions, Pencil and Paper Exercises, and
Computer Exercises are available. The Solution Files also contain the sample programs that
appear in the figures throughout the book.
DATA FILES Data Files are required to complete many Labs and Computer Exercises in this
book. They are available on the Instructor Companion Site as well as on CengageBrain.com.

Acknowledgments
Writing a book is a team effort rather than an individual one. I would like to take this
­opportunity to thank my team, especially Alyssa Pratt (Senior Content Developer), Jennifer
K. Feltri-George (Senior Content Project Manager), Marisa Taylor (Senior Project Manager),
and Nicole Ashton, Serge Palladino, Chris Scriver (Quality Assurance). Thank you for your
­support, enthusiasm, patience, and hard work; it made a difficult task much easier. Last, but
certainly not least, I want to thank Fred D’Angelo, Pima Community College East Campus;
Charles ­Nelson, Rock Valley College; and Mark Shellman, Gaston College for their invaluable
ideas and comments.
Diane Zak

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
xviii

Read This Before


You Begin

Technical Information
Data Files
You will need data files to complete the Labs and Computer Exercises in this book. Your
­instructor may provide the data files to you. You may obtain the files electronically at
­CengageBrain.com. Search for the ISBN associated with your book (from the back cover of your
text) using the search box at the top of the page. This will take you to the product page where
free companion resources can be found.
Each chapter in this book has its own set of data files, which are stored in a separate folder
within the Cpp8 folder. The files for Chapter 4 are stored in the Cpp8\Chap04 folder. Similarly,
the files for Chapter 5 are stored in the Cpp8\Chap05 folder. Throughout this book, you will be
instructed to open files from or save files to these folders.
You can use a computer in your school lab or your own computer to complete the Labs and
Computer Exercises in this book.

Using Your Own Computer


To use your own computer to complete the Labs and Computer Exercises in this book, you will
need a C++ compiler. This book is accompanied by videos that show students how to install
various C++ compilers (such as Microsoft Visual C++, Dev-C++, and Code::Blocks). The
­videos are named Ch04-Installation development Tool, where development Tool is the name of
the C++ development tool covered in the video. You may obtain the files electronically at
CengageBrain.com. Search for the ISBN associated with your book (from the back cover of
your book) using the search box at the top of the page. This will take you to the product page
where free ­companion resources can be found.
The book was written and Quality Assurance tested using Microsoft Visual C++ in Visual
Studio Ultimate 2015. It also was tested using Code::Blocks and Dev-C++. However, the book
can be used with most C++ compilers, often with little or no modification. At the time of
this writing, you can download a free copy of the Community Edition of Visual Studio 2015,
which contains the Visual C++ compiler, at https://www.visualstudio.com/en-us/downloads/
visual-studio-2015-downloads-vs.

Copyright 2016 Cengage Learning. All Rights Reserved. May not be copied, scanned, or duplicated, in whole or in part. Due to electronic rights, some third party content may be suppressed from the eBook and/or eChapter(s).
Editorial review has deemed that any suppressed content does not materially affect the overall learning experience. Cengage Learning reserves the right to remove additional content at any time if subsequent rights restrictions require it.
Exploring the Variety of Random
Documents with Different Content
liikkeelle ja vihanta metsä alkanut ikuisen huminansa, joka tällä
kertaa kuului kuin mieltä ylentävä hautausvirsi. Oli kuin muukin
luonto olisi viehtynyt näistä muistoista. Kovettunut kivi tuntui
heltyvän ja vuodattavan kyyneleitä, vihanta kaisla ääneensä itkevän
ja rannan aalto valituksillaan yhtyvän yleiseen kaihoon.

Hetken perästä nousi vanha mies ja minä tein samoin,


laskeusimme rantaan ja lähdimme vesille, emmekä kotvilleen
hennonneet toistemme muistoja häiritä.

Kaksi onnellista.

— Tapasin heidät viime lauvantaina sähkön valossa uusissa


halleissa Aleksanterin- ja Hakasalmenkatujen kulmassa, kertoi
minulle eräs ystäväni eilen illalla.

Olin kävellyt muutamaan kertaan läpi nuo hallit ja silmäillyt niiden


somuutta. Uutuus viehätti minua, niinkuin muitakin.

Parhaillaan olin kauppaa tekemässä viehättävimmän myyjättären


kanssa, minkä silmäni halleissa huomasi, kun eräs nuori pari herätti
huomiotani. Katseeni kiintyivät erittäinkin naiseen, joka kiekkui
miehen kainalossa. Hänen pukunsa oli uusinta muotia. Päässään
senlainen viehättävä, yksinkertainen hattu, kuin tänä syksynä
käytetään, kepsi samoin nykyistä mallia, ilman joutavitta
koristuksitta, hyvällä aistilla valittu, sekä tumma hame, väliämpi
tavallista, miellyttävä.

Miestä, joka naista talutti, en huomannut ollenkaan.


— Koska nämä myymälät suljetaan näin lauvantaisin?

— Teidän luvallanne, hyvä herra, k:lo 10, vastasi myyjäneiti


viehättävästi.

Käännyin pois, kun olin kaupat tehnyt. Samassa oli pariskunta


kohdallani.

— Eikös se ole herra se ja se? kysyi nainen, kääntyen puoleeni.

— On… minä olen, mutta kuka se on, jonka huvittaa minua


puhutella.

— Oh, ettekö tunne enää.

Samassa tunsin hänet… Kuka ei tuntisi entistä mielitiettyään


ylioppilasajoilta. Hän oli kolmas, joka oli kylmennyt ja jättänyt minut
lehellä soittamaan, viimeinen, jota olen kosinut ja jonka kanssa olen
kihloissa ollut, vaikkapa vaan salakihloissa.

— Mikä sattumus, viehättävä rouva! huudahdin minä.

— Tosiaankin! Tässä on mieheni, saan luvan esittää.

— Terve! kuului miehen suusta kuin maan alta.

Astelimme edestakasin ja ihailimme uusia halleja ja puhelimme


pääkaupungin nopeasta kasvamisesta.

— Olette varmaan ennenkin ollut Helsingissä, arvelin minä


miehelle.

— Olen, mutta siitä on jo monta vuotta, vastasi hän kylmästi.


— No, mitä pidätte uudistuneesta pääkaupungistamme?

— Turmeluksen pesä koko kaupunki… turmeluksen pesä. Kaikki


täällä on sitä uudenaikaista sivistystä, kevytmielistä viettelystä! Ei
mitään elämän vakavuutta, jalompia pyrinnöitä. Olimme eilen
sirkuksessa — joutavata, viheliäistä alusta loppuun, mutta Helsingin
hienoa yleisöä ääriään myöten täynnä. Kävimme Kaivopuistossa
Itaalialaisia kuulemassa. Mikä turhamaisuus rakennuksen
komeudessa, ylellisyys nautinnoissa ja mässäämisissä, ja itse
soitantokin niin ja näin!

— Mutta entäs teaatterit! Niissä ainakin on tarjona jalointa huvia,


mitä saada voidaan.

— Eikös me mennä jonnekin kahvilaan, juomaan kuppi teetä?


ehätti rouva sanomaan ennen kuin miehensä ennätti vastata.

Minulla ei ollut mitään sitä vastaan eikä sitä näyttänyt olevan


miehelläänkään.

Menimme miehen ehdotuksesta Löfströmin kahvilaan, jossa hän


sanoi usein ennenkin käyneensä.

Rouva nakkausi mukavasti sohvaan ja mies istuutui sen toiseen


päähän.

Minä asetuin tuolille vastapäätä heitä. Me puhelimme rouvan


kanssa entisistä oloista ja tuttavista. Hän jutteli vilkkaasti, kiihtyi ja
innostui, kun tuli niistä ja niistäkin kemuista puhe, siitä ja siitäkin
isänmaallisesta juhlasta. Hänen tummat silmänsä säihkyivät,
mehevät huulensa hymyilivät ja niiden välistä loisti valkoset
hammasrivit niinkuin ennen ylioppilaistanssiaisissa.
Mies istui välinpitämättömänä, turjotti. Hän oli iso ja tanakka,
hieman kyömyniska. Tukkansa oli vaalea, ohut ja keskeltä jakaisella,
otsansa matala, kulmat oudon korkeat, silmissään, joiden väri oli
kellervän sininen, oli jäykkä ja synkkä katse; nokkansa oli iso,
säännötöin möhkäle, huulensa ohuet, joiden välistä näkyi rumat,
huonosti hoidetut hampaat, leukansa oli leveä, pitkä ja lujatekoinen
ja koko muodolla kelmeä, elämän kuluttama väri.

Rouva vilkastui yhä puhellessaan. Keskustelumme kääntyi nykyisiin


huveihin, teaattereihin, kirjallisuuteen ja taiteeseen. Hänen
arvostelunsa olivat asialliset, sukkeluutensa sattuvat. Keskustelunsa
kävi keveästi ja luontevasti ja teeskentelemätön naurunsa pulppusi
sydämmen pohjasta. Tuonlainen, aivan tuonlainen, oli hän silloin,
tuona iltana, jolloin ilmoitimme tunteemme toisillemme. Minä ilostuin
ja vilkastuin hänen mukanaan.

Mies vaan istua nurjotti tylyn-näköisenä, sanomatta suurin mitään.

— Miksi? Miksi hänen piti jättää minut ja ottaa tuo? arvelin


itsekseni. Paremmin tuo olisi sopinut vanhaksipojaksi kuin minä?

Tuli pieni äänettömyys… Ajatteliko hänkin jotakin samanlaista.

— Te olette siis onnellinen, puhuin minä kiihtyneenä. Hän


säpsähti, havahtui kuin unesta.

— Minä olen… me olemme onnelliset. Te näette tässä kaksi


onnellista, sopersi hän ja tarttui miehensä käteen.

Tällöin levisi miehen kasvoille hymyilevä ilme, ison nokan pää


hieman punastui ja hän avasi suunsa ja sanoi kuin ippo ihminen.

— Niin, kaksi onnellista.


Keskustelu ei sitten enää tahtonut oikein käydä, mitä minuun tuli,
vaan rouva puheli sitä enemmän, oli iloinen ja viehkeä.

— Meidän täytyy viedä kirje postiin, sanoi mies äkkiä.

— Tee sinä se, armas Ernesto! Minä istun niin kauvan täällä, sanoi
rouva sulavasti.

— Voimmehan mennä saman tien kotia.

— Ei, ei! Minä odotan täällä niin kauvan. Meillä — hän pani
huomattavan painon meillä sanalle — on vielä paljo juteltavaa,
muisteltavaa.

Yrmeänä lähti mies yksin.

Ja olihan meillä puhelemista, muistelemista. Ja rouva kertoi sitä


paitse omista oloistaan. Heillä oli jossakin rautatienvarrella
suurenlainen maatila, joka oli hyvässä kunnossa, olivat varakkaita ja
voivat hyvin… Perillisiä heillä ei ollut, sen ilmoitti rouva kysymättäni.
Ja nyt olivat tulleet Helsinkiin huvittelemaan ja miehensä oli ollut niin
hyvä, rakastettava ja kohtelias. Kaikki, mitä hänellä oli päällään, oli
uutta ja vasta Magasin du Nord'ista ostettu, kaikki…

— Tämä hattu ja tämä kepsi ja tämä… tämä — ja hän näytti


hiukan taivaankaarenväristä alushamettaan. — Eikös nämä kaikki ole
kauniita, hyvällä aistilla valituita ja sopivia… oikeinhan nämä
kaunistavat minua, puhui rouva iloisesti viehättävällä tavallaan, ja
nousi ja heitti kepsin olkapäälleen ja pyörähteli seinäpeilin edessä. —
On, on! Ovat, ovat! huusin minä innoissani ja katselin ihastuksissani
rouvaa.
Kohta oli hän taas entisellä paikallaan ja puhelu ja iloisuus kiihtyi
ett'emme huomanneet ajan kultaisen kulusta sen kuin merkkiä.

— Mitä kello on? kysäsi hän äkkiä. Hyvä Jumala, puoli kymmenen,
eikä mieheni ole vielä tullut! kuului rouvan suusta.

— Eikä miehenne… äänsin minä.

— Hän on mennyt yksin asuntoomme, tulematta ottamaan minua,


huusi hän tuskaisena.

Nyt tuli rouvalle kiire. Oitis oli kepsi paikoillaan ja hattu päässä.
Riensimme sitä kyytiä kadulle. Häthätää heitti hän minulle hyvästit,
otti ajurin ja hävisi kohta illan hämärään…

Seuraavana aamuna, jolloin heidän piti lähteä, en malttanut olla


menemättä asemalle.

— Ajatelkootpa siitä mitä hyvänsä, arvelin mennessäni.

Asemalla tapasin rouvan yksinään, surullisena, itku kurkussa. Hän


selitti minulle, että miehensä oli matkustanut jo edellisenä iltana,
asunnossaan käymättä. Kirjeessä oli hän vaan ilmoittanut lyhyesti
vaimolleen, että hänen täytyi esiintulleista syistä matkustaa jo sinä
iltana, mutta ei tahtovansa häiritä vaimoaan, joka näytti niin
erinomaisen hyvin viihtyvän Helsingissä.

— Mikä hirveä ihminen, mikä julma aviomies, joka saattaa jättää


vaimonsa tuolla tavoin, valitti rouva itkuissaan.

— Mutta kuinka senlainen on mahdollista? utelin minä.


— Hän on niin surkuteltavan mustasukkainen… Minä olen ihan
onneton hänen kanssaan, puhui hän, kuivaillen kyyneleitään.

En minäkään osannut häntä suurin lohduttaa, vaikka jotakin ehkä


siihen suuntaan koettelin. Hän itki ja meni vaunuihin ja juna lähti.

Mietteineni jäin minä asemalle.

Parin, kolmen päivän perästä sain kirjeen:

Hyvä herra!

Ne kyyneleet, joita toinen meistä vuodatti siellä Helsingin


asemalla, ovat jo aikaa kuivuneet, sillä toinen on sovittanut ja
saanut anteeksi suuren rikoksensa. Kiitos huvittavasta
seurasta. Iloista olisi saada kerran tavata teitä täällä
luonamme. Ettekö voi kiskoa itseänne hetkeksi irti
hurmaavista Helsingin huveista ja tulla ystäviänne
tervehtimään tänne maalle? Tätä toivoisi hartaasti

Kaksi onnellista.

Kirje ja sana "kaksi" oli samaa, tunnettua naisen käsialaa;


"onnellista" sanan oli kirjoittanut joku toinen, hänen miehensä.

— Huomenna lähden sinne tervehtimään ystäviäni… lähden kuin


lähdenkin.

Hänen puheensa.
Juhlapäivä valkeni, kirkas ja tyyni. Virtten hyminään heräsi isäntä.

Tehtaalla oli juhla, vietettiin isännän viidettäkymmenettä


syntymäpäivää.

Sitä oli valmistettu pitkät aikaa niin isäntä- kuin työväenkin


puolesta.

Isäntä, joka ei ollut mitenkään eikä milloinkaan välittömässä


yhteydessä työväkensä kanssa, tahtoi saada niille pienen
juhlallisuuden taas pitkästä ajasta ja olla itse kerrankaan mukana ja
tutustua tarkemmin etevimpiin ja vanhimpiin työmiehiinsä. Hän ei
ollut ylpeydestä eikä ylenkatseesta työmiestensä kanssa tekemisistä
erillään, vaan luonteensa puolesta. Hän oli kylmä, yksinäisyyttä
etsivä, joka ei näyttänyt pitävän mistään väliä, ei muista eikä
muitten toimista, ei omista asioistaan ja kaikkein vähemmän omasta
tehtaastaan. Harvoin hän kävi siellä ja silloinkin vaan ruokatunnin
aikana ikäänkuin sattumalta. Käveli vinhasti keppi kädessä ympäri ja
palasi asuntoonsa. Hänen ei ollut tapana puhutella työmiehiä eikä
ketään aluskuntalaistaan. Hattuansa nostamalla vaan tervehti, kun
jonkun tapasi; siinä kaikki.

Ja kuitenkin hän tunsi tarkemmin asiansa ja ymmärsi tehtaansa


työt ja liikkeen paremmin, kuin kukaan muu ja johti kaikki.

Työväestään piti hän erityistä huolta. Niille oli rakennettu hyvät ja


terveelliset asunnot tarpeellisen matkan päähän tehtaasta kauniille,
miellyttävälle paikalle, oli laitettu koulu ja kirkko ja perustettu
eläkerahasto. Ja sitä mukaa kohdeltiin muutenkin kaikkia
aluskuntalaisia. Ei tietty, että ketään oli erotettu tehtaan työstä
minkään virheen tähden.
Työkansa oli tyytyväinen ja kiitollinen ja nyt, kun isännän
viideskymmenes syntymäpäivä oli tulossa, tahtoi se sitä juhlallisesti
viettää ja siten jollakin kiitollisuuttaan osottaa.

Monta päivää ennen alkoivat he salaa valmistaa köynnöksiä ja


kiehkuroita koristamista varten ja kävivät metsässä valitsemassa ja
merkitsemässä puut, että sitten äkkiä saadaan, kun tarvitaan. Naiset
olivat näissä töissä toimellisemmat kuin miehet, sillä hehän ne kaikki
seppeleet, kiehkurat ja köynnökset sitoivat, kun miehet vaan aineen
hankkivat. Sen puolesta oli siis kaikki hyvin.

Puhujasta vaan oli puute, juhlapuhujasta.

Vuosi sitten oli tehtaalle tullut uusi työnjohtaja, kun entinen oli
matkustanut Tuonen mustaan maahan. Työnjohtajaksiko vai miksi,
sitä eivät jääneet udelleet. Niin oli mennyt hänkin, tuo vanha
rakastettu johtaja, kaiken maailman tietä, ja tuskin muisto oli
miehestä enää jälellä, ja uusi tuntematon tullut sijaan.

Alussa ei uusi tulokas miellyttänyt ketään, vaan kohta hurmasi hän


kaikki. Hän oli outo, kiinteä muodoltaan ensi näkemältä. Se siinä oli
outoa, että hän oli aina eteenpäin kallellaan koko mies. Vartalo
kumara, kaula, joka oli pitkä kuin amerikkalaisen, oli koukistunut
eteenpäin, leuka oli kapea ja pitkä, eteenpäin, etumaisena oli
kuitenkin miehen nokka, joka oli tavallista isompi, terävä ja litteä,
niinkuin koko muotokin oli oudon latuskainen. Poikkeuksen tästä
miehen yleisestä eteenpäinolosta teki vaan valtava otsa, joka oli
tavallista enemmän taaksepäin kalteva. Silmänsä olivat tosiaankin
kuin "kaksi kultaista käkeä, jotka yli orren tappelivat", kellertävät,
pienet, kiehuvat, joitten teräset näyttivät kääntyvän kuin koneella,
niin varmasti ja tarkoin määrättyyn suuntaan. Kun hänellä oli vielä
tapana astua hyvin vinhasti sivuilleen vilkumatta, niin näytti hän
tosiaankin oudolta tuossa tuimassa menossa, jossa nokka
etumaisena ikäänkuin halkasi ilmaa, sitten seurasi pää, sitten yläosa
vartalosta ja viimmeisenä muu osa. Ja koko tätä laitosta puski
voimakkaasti eteenpäin heikonlainen jalkarakennus, jalkaterät olivat
sentään senlaiset, ett'ei lumikenkiä olisi tarvinnut pehmeässäkään
nietoksessa… tuli niillä arpi hankeen.

Mutta rakenteessa ei ole miehen arvo.

Yhtä miellyttävä oli mies sisällisesti kuin ulkonaisesti outo. Hän oli
iloinen ja leikkisä, luonnollinen ja hilpeä, kohtelias ja ystävällinen
kaikille. Jokaiselle oli hänellä aina ja joka tilassa sopiva, miellyttävä
sana annettavana, tapasipa hänet milloin ja missä hyvänsä. Hän oli
aina tyytyväinen, itse tyytyväisyys: yhtä tyytyväinen illoilla kuin
aamuisin, yhtä tyytyväinen syömään ruvetessaan kuin syötyäänkin.
Ei kukaan ollut vuoden kuluessa nähnyt hänen kiihtyvän, vielä
vähemmin suuttuvan tahi kiivastuvan. Ja työt kävivät tehtaalla
paremmin entistään, vaikka työnjohtaja ei pitänyt suurta ääntä, ei
kiroillut eikä kiljunut. Hänen tullessaan tehtaalle kammoksuivat
häntä kaikki, muutaman viikon päästä ei kukaan, päinvastoin sukelsi
hän kaikkien suosioon. Kaikki hänestä pitivät, niin miehet kuin
naiset, niin aikaiset kuin lapset, niin vanhat kuin nuoret.

Tämmöinen oli työnjohtaja.

Luonnollista oli siis, että häntä yleisesti työväen kesken tuumattiin


juhlapuhujaksi.

Pari miehistä meni asiata esittämään.

— Ei, hyvät miehet, ei se sovi. Minä olen nuorin mies täällä, joka
en tunne oloja vielä enkä mitään. Puhe on vanhimman pidettävä,
sen, joka enimmän aikaa on tehtaalla ollut. Kyllä minä saatan auttaa
puhetta valmistettaessa ja ohjata lausumisessa, mutta kunnioitetun
isäntämme arvo vaatii, että tehtaan vanhin työmies tunteemme
tulkitsee…

Näin puhui hän ja niin sitä sovittiin.

Hän kirjoitti puheen ja tehtaan vanhin opetteli puhumaan,


lausumaan työnjohtajan mieltä myöten.

Juhlapäivä valkeni, kirkas ja tyyni.

Virtten hyminään heräsi isäntä.

Hän hyppäsi ylös ja kurkisti ikkunasta. Tehtaan laulajat ja


soittokunta sekä taaja joukko juhlapukuisia työmiehiä seisoi ikkunan
edessä.

Siepattuansa yönutun päällensä, poisti hän verhot ja avasi


ikkunan.

Voimakas eläköön-huuto kaikui raikkaasti ulkoa.

— Minä kiitän teitä, rakkaat työmiehen!! Minä kiitän sydämestäni


teitä kaikkia! Tänä iltana tavataan, sanoi isäntä liikutettuna.

Iloinen laulu kajahti vastaan ja sen loputtua taas valtava eläköön-


huuto.

Soittokunta asettui etunenään ja reippaan marssin soidessa lähti


kansajoukko liikkeelle asunnoitansa kohti.

Isäntä seisoi liikutettuna ikkunassa ja mietteissään katseli


poistuvata kansaa ja avaroita tiluksiaan ja kuinka kaikki oli somisteltu
ja koristeltu yhtenä yönä: oli kuin taikavoima olisi yön-aikana hänen
tiluksensa lumonnut. Ei ollut sitä seinää eikä pylvästä, johon ei ollut
köynnöksiä kasvanut, ei aitaa eikä seivästä, jota ei oltu kukitettu,
seppelöity ja liputettu. Juhlakenttä oli kasvavilla puilla ympäröitty,
varustettu komealla kunniaportilla ja puhelavalla, ja keskeltä kenttää
kohosi pitkän pitkä juhlariuku, joka oli kukilla, kiemurtelevilla
köynnöksillä, lipuilla ja ilmassa häilyvillä vanteilla kaunistettu…

Isäntä seisoi kauvan mietteissään ja katseli kaunista ympäristöä.

Kello neljältä alkoi varsinainen juhla ulkona kentällä.

Kansaa oli kokoontunut äärettömästi, ei ainoastaan tehtaalta, vaan


paikkakunnan herrasväkeä ja rahvasta taajoista lähikylistä.

Juhlakulussa saattoi soittokunta isäntää perheineen ja kutsuttuine


vieraineen juhlapaikalle, jossa kunniaportilla otti heidät vastaan
laulukunta virren värssyllä.

Sitten kokoonnuttiin puhelavan ympärille. Tässä veisattiin


alkajaisiksi virsi ja tehtaan pastori piti pienen hartaushuokauksen
sille Herralle, jolta kaikki hyvä anto tulee, ja kiitti Häntä että oli
antanut onnellisesti valjeta tämän päivän, joka oli patroonin
viideskymmenes syntymäpäivä ja teroitti työkansan mieliin
kiitollisuutta Jumalata kohtaan, joka heille oli senlaisen isännän
antanut, kiitollisuuttaan isäntäänsä kohtaan, joka heistä on senlaista
huolta pitänyt ja tämän kaiken heille vaikuttanut. Sitten veisattiin
taas virsi, johon koko yleisö innolla yhtyi.

Näin oli pastori tahtonut, eikä tietysti isännälläkään ollut mitään


sitä vastaan, sillä hän oli niitä miehiä, jotka täysin tietävät, että jos ei
Herra huonetta rakenna, niin ne turhaan työtä tekevät, jotka sitä
rakentavat, että kaikki ihmiselliset pyrinnöt ilman Hänen avuttansa
turhaan raukeevat.

Sen perästä julisti tehtaan insinööri juhlan avatuksi, ja leikit ja


kisailut alkoivat.

Ohjelmaan kuului vielä esitelmä "työväen oloista Amerikassa",


jonka mainittu insinööri piti sujuvasti ja huvittavasti.

Taas kaikui alkusoitto, pitkään ja kutsuvasti.

Kansa riensi kokoon. Puhelavalle ilmestyi vanhan miehen tutut


kasvot.

Hän katseli levollisesti kertyvää kansaa ja alkoi:

Korkeasti kunnioitettu isäntämme, hra patrooni!

Lukuisa työväkenne tahtoo Teille tällä hetkellä minun


kauttani toivottaa onnea ja menestystä ja kantaa hartaimmat,
sydämellisimmät kiitoksensa siitä hellästä isällisestä
huolenpidosta, jolla Te aina olette työmiehiänne holhoneet ja
heidän parastansa valvoneet. Me vanhemmat tällä tehtaalla,
jotka olemme tässä aina tehtaan syntymisestä asti
työkennelleet, jotka olemme ikäänkuin kiinni kasvaneet tähän
suureen yritykseen, me tiedämme, me tunnemme, kuinka
tämä tehdas on syntynyt nerokkaalla toimellanne, kuinka
tämä on tälle kannalle kehittynyt Teidän tarmokkaalla,
viisaalla johdollanne, me tiedämme kuinka rehellisesti,
vilpittömästi Te olette menetelleet kaikkia kohtaan. Ei mitään
vääryyttä, ei mitään petosta ketään kohtaan, suoruus,
rehellisyys, se on aina ollut Teidän tunnussananne, niin, minä
sanon sen suoraan, huudan kaikille tuulille. Te olette täysin
tunteneet kansamme perussävelen, elämän ydin-ohjeen:
"Rehellisyys maan perii", ja toimineet sen mukaan. Mitä sitten
tulee meihin työmiehiin, Teidän aluskuntalaisiinne, niin
meidän kiitollisuuttamme Teitä kohtaan ei voi sanoin selittää,
niinkuin ei Teidänkään hyviä töitänne meitä kohtaan voi
kukaan luetella. Tuo taaja, hyvinvoipa, juhlapukuinen
kansajoukko, joka tässä ympärillänne seisoo, on paras
todistus teidän huolenpidostanne, niinkuin heidän tyytyväinen
ja iloinen mielensä, kiitollisuudesta paisuvat rintansa ja tällä
juhlahetkellä kyyneleissä kylpevät silmänsä ovat paras
todistus siitä, että tässä tehtaassa on isännän ja työväen
keskinäinen väli ja suhde senlainen, kuin sen ollakin pitää ja
aina ja joka paikassa olla pitäisi. Kunnioitettu isäntämme! Te
olette kelpo tavalla näyttäneet kaikille ajoille ja ijille, että tuo
Suomen kansan sananlasku: rehellisyys maan perii, on
horjumaton totuus, että se on rehellisyys, suoruus, vilpitön
oikeudentunto yhdessä tarmokkaan työn ja viisaan
menettelyn kanssa, joka tässä maailmassa tosimenestyksen,
tosi-onnen, arvon ja siunauksen tuottaa. Antakoon korkein
isämme, taivaan ja maan ja meidän kaikkien suuri Luoja Teille
monen monta terveyden ja voiman vuotta yhä jatkuvalla
menestyksellä toimia ja työskennellä oman perheenne,
lukuisan aluskuntanne ja koko kansamme, armaan
isänmaamme onneksi ja siunaukseksi! Toverit, veljet! Ja Te
arvoisat vieraat! Kohottakaamme raikuva eläköön-huuto
kunnioitetun isäntämme ja hänen perheensä kunniaksi ja
onneksi! Eläköön!

— Eläköön!
Voimakkaasti oli puhunut vanha mies. Valtava kuin ukkosen jyrinä
vyöryi eläköön-huuto kautta juhlakentän: kautta tehtaan
rakennusten, kunnes se vähitellen vaipui mustan metsän hiljaiseen
poveen.

Isäntä oli syvästi liikutettu. Hän ei kyennyt puhumaan vähään


aikaan, tuskin kiitti ystäväin onnitteluista.

Hetken päästä ilmestyi hän puhelavalle, liikutettuna, kalpeana.

— "Velvollisuuteni olisi", alkoi hän värähtelevällä äänellä, "kiittää


niistä ystävällisistä, opettavista sanoista ja onnitteluista, jotka tässä
minulle on lausuttu, mutta siihen tuskin kykenen. Kaikki me
tiedämme, että ihminen on erehtyväinen, mutta että ihmisen
myöskin on erehdyksensä korjattava. Ja kun hän sen tekee, niin…
niin… niin…"

Enempätä ei hän saanut sanotuksi. Kalpeana seisoi vaan ja tuijotti


eteensä.

Syntyi pitkä, kiusallinen paussi.

Vaimonsa koetti antaa merkkiä, insinööri huomauttaa, mutta niitä


hän ei huomannut, ei tajunnut.

Kylmänä, jäykkänä kuin patsas seisoi hän siinä, värähtämättä,


silmäänsä räpäyttämättä.

Hän eli menneitten muistoissa.

Hänen eteensä avautui koko mennyt, eletty elämänsä: lapsuus,


nuoruus, miehuus.
Hän näki entisen, iloisen lapsuutensa kodin. Hän muisti ne
kultaiset neuvot, joita armas äiti-vainaja oli antanut; muisti koulun,
opettajat ja niiden hyvät ohjeet; muisti nuoruutensa onnelliset
päivät. Hän kauhistui sitä rahanhimon kirottua käärmettä, joka
hänen mieheksi saapuessaan oli alkanut hänen sisuansa jäytää.
Muisti hyvin kuinka äidin kuolema, siitä seurannut katkera suru ja
tuska oli hetkeksi sulkenut jäytävän madon ahnaan kidan, ja kuinka
se sitten sitä nälkäisempänä oli alkanut taas pureskella hänen
sydämmensä juurustimia; kuinka se häntä ajoi toisesta yrityksestä
toiseen, huonosta keinottelusta pahempaan, kuinka hän oli koettanut
kirjurina, puotipalvelijana, tukin-uittajana, kauppiaana, tukkisaksana;
kuinka hän tässä oli tavannut mainion kosken sahalaitosta varten.
Silloin oli se kunnollisen maanviljelijän hallussa. Hän oli sortua
maahan, kun muisti, kuinka väärillä kaupoilla sai itselleen
kymmenkunnalla tuhannella markalla maatilan, jonka arvo oli
määräämätön; kuinka hän käyttäen hyväksensä miehen hädän-
alaista tilaa teki valekaupat; kuinka hän sitten, kun kauppakirjat
olivat saaneet lain voiman, ajoi armotta miehen perheineen pois
talosta… Mies oli syöksynyt epätoivoissaan koskeen. Hän tunsi
valuvan niskaansa kaikki ne runsaat, kuumat kyyneleet, joita vaimo
oli polvillaan hänen edessään vuodattanut, mutta niine hyvineen
saanut mennä matkaansa ja kuollut surusta kohta sen perästä. Kaksi
lapsista oli mennyt samaa tietä hoidon puutteessa. Koko perheestä
ei ollut jälellä muuta kuin yksi tyttö, joka vieraan palveluksessa
ansaitsi kovalla työllä niukan leipänsä…

Patroonista tuntui kaikki tämä raskaalta, painavalta, niinkuin


hänen päällensä olisi sälytetty koko tuo suuri tila kaikkine
rakennuksineen, sanoineen, konepajoineen, lisätty siihen miehen
kuolema, kerätty vaimon kaikki kyyneleet ja lasten kurjuus… kaikki,
kaikki. Mutta kukapa tässä yleisön edessä lannistuisi, sortuisi,
luhistuisi alas, maahan… Ei! Ei koskaan…

Tuskallisessa äänettömyydessä, henkeänsä pidättäen, seisoi yleisö


kuin ukkosen lyömänä ja katseli patroonia, joka ei hievahtanut
paikaltaan, ei ääntänyt, ei pieninkään piirre hänen kasvoissaan
liikahtanut… Jäykkänä, kylmänä, tylynä seisoi hän siinä.

Ei kukaan liikahtanut, ei hengähtänyt… ei tuuli eikä ihmiset.

Koski yksin, aina levoton koski, joka entisen isännän oli


epätoivosta pelastanut, tuskat lieventänyt, yksinkertaiset erhetykset
peittänyt, se yksin ei hämmästynyt, ei hiljentänyt kulkunsa
huimaavata nopeutta, ei hillinnyt kolkkoa pauhuansa. Tällöin se
tuntui vielä uhkaavammalta, vielä raivokkaammalta. Oli kuin olisi se
tahtonut riuhtoa itsensä irti, repiä kaikki mukaansa, tuntui kuin olisi
se huutanut tuhansin äänin: heittäkää tänne kaikki tuskat, upottakaa
kaikki rikokset ja saastat! Minä en nöyrry, en masennu sittenkään…
En, en, en! En, en, en!

Hetki oli tuskallinen, pitkä odottavalle yleisölle, ijankaikkinen,


vaikk'ei se itsessään pitkä ollut, moniminuuttinen.

Pastori ilmestyi puhujalavalle.

— Te voitte pahoin, hra patrooni, sanoi hän ja laski kätensä


isännän olkapäälle.

— "Niin, niin… Kun hän sen tekee, niin häntä ei tuomita", sanoi
patrooni viimmein ja laskeusi pastorin turvaamana puhelavalta. —
Perheensä ja omaistensa saattamana kulki hän sitten sanaakaan
lausumatta asuntoonsa.
Näin keskeytyi juhla ja kansa hajosi hiljaisesti kentältä,
kummeksien, että mikähän äkillinen kouristus mahtoi isäntää
kohdata.
— Mikä mahtoi patroonille tulla? kysyi vanhus, joka oli puheen
pitänyt.

— Se, mitä tarkotettiin, vastasi työnjohtaja.

— Lieneekö hän vaarallisestikin kipeänä?

— Ei kaikki taudit ole kuolemaksi, jotkut ovat elämäksikin, sanoi


työnjohtaja vakavasti.

Jonkun ajan päästä oli isäntä ruumiillisesti ennallaan, henkisesti


kokonaan muuttunut.

Eräänä aamuna ilmestyi hän tehtaalle iloisena ja terveenä. Kävi


ensin uutta paperitehtaan rakennusta tarkastamassa, tervehti
ystävällisesti, puhutteli muutamia työmiehiä leikillisesti ja meni sitten
sahalle.

Tällaista ei tietty koskaan ennen tapahtuneen.

Sahalla tapasi hän työnjohtajan.

— Oliko se hänen puheensa tuo tuonnoinen? kysyi hän sävyisästi


tältä.

— Kuinka niin?

— Se ei ollut minusta tavallisen työmiehen tekemä…

— Pyynnöstä sen minä kirjoitin.

— Kiitos! sanoi patrooni ja ojensi kättä työnjohtajalle.


Uusi elämä alkoi tehtaalla.

Isäntä liikkui itse jokajalla, milloin vaan aikaa oli, puheli


työmiesten kanssa ja lasketteli leikkipuheita, milloin soveltui. Kävi
usein työväen asunnoilla miesten poissa ollessa tervehtimässä
perheitä, tarkastamassa elämätä ja tutkimassa tarpeita ja puutteita.
Usein nähtiin hänet tuon samaisen työnjohtajan kanssa kulkevan
työpaikalta toiselle, kyselevän ja neuvottelevan hänen kuin
parhaimman ystävän kanssa.

Kaikki ihmettelivät uusia oloja ja suurta muutosta, joka isännässä


oli tapahtunut, mutta kukaan ei kyennyt arvoitusta selittämään.

Tehdaslaitosten alapuolella jonkun matkan päässä oli vielä tuo


vanha talo, jossa entinen omistaja oli perheineen asunut. Sitä
sanottiin Vanhaksi pihaksi ja siinä asui vaan jokunen konttoorikirjuri.

Ne saivat nyt sijansa tehtaalla ja Vanhaa pihaa ruvettiin


asettamaan uuteen kuntoon. Kaikki paikat siinä korjattiin ja
uudistettiin sekä asuinhuoneet että ulkosuojat ja piha. Ja pulska
lappuaita pantiin erottamaan Vanhan pihan tiluksia tehtaasta.

Kun talo oli kunnossa, toimitettiin siihen karjaa ja juhtia, se mikä


katsottiin talossa tarvittavan, sekä maanviljelys- ja talouskaluja
samoin-ikään.

Kaikki luulivat, että patrooni laittaa kaiken tuon itseänsä varten,


että hän aikoo yrittää maanviljelyksenkin alalla entistä enemmän.

Niin luulivat ihmiset.

Kun talo oli kaikin puolin täydellisessä kunnossa, lähetti patrooni


hakemaan entisen isännän ainoata tytärtä, joka näistä toimista
tietämättä työskenteli palveluspaikassaan. Työnjohtajan täytyi
hakemaan lähteä ja tuoda tyttö joka tapauksessa tullessaan.

Suorittihan hän tehtävän senkin.

Mitä sinä päivänä puhuttiin ja keskusteltiin patroonin ja tyttären


välillä, ei ole kenenkään tietoon tullut, mutta hyvin liikutettuna oli
patrooni palannut ja sanonut työnjohtajalle, että nyt on entinen
erehdys osaksi korjattu.

Näin tuli uusi emäntä Vanhaan pihaan, johon kuului puolet entisen
suuren tilan laajoista maista.

Vuoden päästä oli siinä uusi isäntäkin ja se ei ollut kukaan muu


kuin tuo samainen työnjohtaja, joka kuitenkin pysyi edelleenkin
tehtaan toimissa, sillä patrooni ei tahtonut hänestä missään
tapauksessa luopua, ja hän hoitikin yhtä taitavasti tehtävät
molemmat.

Ajan oloon tuli hänestä tehtaan osakas, patroonin oikea käsi, veli
ja ystävä.

Siunaus seurasi heitä ja patrooni usein muisteli hänen puheensa


ihmeellistä vaikutusta ja seurauksia…

He ovat nyt jo aikoja päiviä hekin olleet sen tuomarin edessä, joka
kultavaa'alla punnitsee, missä mielessä olet työsi tehnyt ja
kutsumuksesi täyttänyt.

Enkeli ja piru.
Mies kulki katua, työmies, ja vaikeroi:

— Tämä on kuitenkin merkillistä tämä köyhän elämä! Tee työtä,


tee hengen edestä, tuskin saat mitä elämiseksesi tarvitset… ryypystä
ei puhettakaan. Jos sen otat, olet juoppo. Sanotaan: rupea raittiiksi,
raittiusseuraan, elä säännöllisesti. Niinpä niin. Hyvä on rikkaan olla
raitis ja säännöllinen, saattaa juoda mitä tahtoo, ja syödä mitä
haluttaa… siten saattaa olla säännöllinen. Toista on täällä köyhän.
Hänen täytyy syödä mitä saapi, ravitsipa se taikka ei, kunhan vaan
täyttää vatsan; juoda mitä anniskelut tarjoovat. Niin anniskelut, nuo
kapakat, jotka hyvät ihmiset ovat perustaneet juoppouden
hävittämiseksi, köyhän auttamiseksi ja tiesi sen mitä kaikkea hyvää
tarkotusta varten. Sitä se on, ottipa sen puolin taikka toisin, että
köyhä, että työmies on holhuun alainen…

Tätä sanoessaan oli hän läkähtyä.

Samassa tuli häntä vastaan nainen, tyttö, nuori ja kaunis.

— Miksi vaikeroit, hyvä mies? kysyi nainen leppeästi.

— Enhän minä puhu mitään.

— Vaanpa ajattelet…

— En pahaa.

— Et vainen. Valittelet köyhän vaivoja ja kurjuutta, soimaat ja


kadehtit onnellisempien kohtaloa ja unhotat, ett'ei Jumala pane
kenellekään raskaampata kuormaa, kuin hän kantaa jaksaa. Oletko
kertaakaan ajatellut, minkä verran sinä ehkä itse olet syynä
kohtaloosi? Oletko tosiaankin kaikesta voimastasi koettanut parantaa
asematasi? Oletko koettanut elää säännöllisesti ja raittiisti? Oletko
koskaan pyytänyt Jumalalta voimaa alkaaksesi uutta elämätä? Oletko
milloinkaan rukoillut itsesi, perheesi ja lähimmäisesi edestä? Oletko
kertaakaan tuntenut sitä rauhaa mielessäsi, jota harras rukous
tuottaa?

Mies katseli naisen vakaita silmiä eikä virkkanut mitään.

— Ei se kannata köyhän, sanoi hän viimein.

— Mikä ei kannata?

— Elää säännöllisesti…

— Tuollaista sitä saapi kuulla! Ei kannata köyhän elää


säännöllisesti! Mitä ajattelematonta puhetta! Koeta kerran
todenperästä alkaa uutta elämätä! Ryhdy taisteluun! Jätä pois nuo
10 pennin ryypyt ja 30 pennin olutpullot! Karta anniskelua ja muita
kirouksen pesiä! Päätä se heti ja rukoile Jumalaa, että hän tukisi,
auttaisi ja vahvistaisi sinua tässä taistelussa. Tee työsi Jumalan
pelvossa! Mene työstäsi, poikkeamatta mihinkään, suoraan kotiasi
vaimosi ja lastesi luo, joiden tuki ja turva sinä yksin olet.

— Mikäs siitä sitten…

— Kun täten olet jonkun aikaa täydestä mielestäsi ja voimastasi


taistellut, niin alkavat seuraukset näkyä. Kalpeus vaimosi ja lastesi
kasvoilta alkaa kadota, repaleiset vaatteet heidän päältään hävitä,
puhtaus vallita majassasi, riidat ja torat loppua huoneestasi, ja sinä
itse… sinä olet tyytyväinen, mielesi rauhallinen, sinä tunnet itsesi
kristillisen yhteiskunnan jäseneksi ja Jumalan valtakunnan
perilliseksi.

Mies seisoi ääneti, katsellen pitkin kovaa katua.


— Tiedän hyvin, mitä ajattelet. Vaimosi laittoi sinut asialle ja nyt
tuumailet, että jos saisit tarvittavat 20 markkaa, niin olisit valmis
alottamaan uutta elämätä. Kuule, hyvä mies! Minä annan sinulle nuo
rahat. Osta tarpeet, joita vaimosi pyysi, ja vie loput rahat hänelle.
Hyvästi! Muista aina: rukoile ja tee työtä.

Niin puhuen antoi nainen hänelle 20 markkaa, pisti kättä ja meni


matkojansa.

Mies jäi miettimään tapausta. Hänestä tuntui kummalta kuinka


nainen tiesi hänen ajatuksensa, hänen elämänsä, hänen tapansa ja
tarpeensa, ja kuinka se puhui lempeästi ja kauniisti! Ei se mahtanut
olla oikea ihminen. Ja mies lähti asioilleen.

Kun hän oli ehtinyt Esplanaadikadulle, tuli häntä vastaan siististi


puettu räätälinsälli.

— No, mutta oletko se sinä, vai mitä mä näen? sanoi sälli


ihmeissään.

— Olenko minä minä… Antti Auvinen, sanoi mies.

— Sitähän minäkin. Tunnetkos minut?

— E-en. En jaksa muistaa.

— Kusti Kähkönen, samasta kylästä, vanhat tappelutoverit.

— No, nyt ollaan kummissa! Ettäkö sen vanhan Kähkös-vainajan


poika.

— Jopa sen… tuttu mies.

— Tuttupa hyvinkin. Terve!


— Terve!

— No, kuinka se maailma sinua muokkaa? kysyi Kusti.

— Tuossahan tuota… Onhan tuota toimiin tultu.

— Enkös minä saa tarjota lasia, niin muistellaan menneitä, ehdotti


Kähkönen.

— Enhän tuota… eikä tässä ole aikaakaan esteli Antti.

— Aikaa? Aina sitä… Olisipa sekin seikkojaan, jos kaksi ystävystä


näin eroaisi, kun vuosien päästä toisensa tapaavat. Tule pois, minä
maksan.

Miehet menivät lähimmäiseen kapakkaan. Eihän niistä puutetta ole


tässä kylässä.

— Kahviako otetaan ja konjakkia? kysyi Kähkönen.

— Vieläkö mitä näin aamupuoleen. Otetaan ryypyt ja olutta.

— Sama se.

Ottivat pöydän ääressä ryypyt ja pienet voileivät.

— Pari pulloa olutta, käski Kähkönen. Miehet istuivat pöytään.

— On se sentään hyvä, että näitä tällaisia paikkoja on, ja näin


halpoja, alkoi sälli.

— Kyllä tultaisiin ehkä vähemmälläkin toimeen, sanoi Antti


Auvinen epäillen.
— Kun kerran laitetaan sivistyneille ja herroille hotelleja ja
ravintoloita, niin eikö sitten käsityöläisillä ja työmiehillä niitä saisi
olla? Häh? Maljasi! jatkoi Kusti Kähkönen.

— Terve! Enhän minä sitä, ettei olla saisi, vaan että vähemmälläkin
toimeen tultaisiin. Jos kapakoita olisi vähemmin, niin harvemmin
niihin heikot sielut horjahtelisivat, koetti Antti puolustautua.

— Järki mies, ja sinuunkin raittiusmiehet alkavat vaikuttaa. Mihin


seuraan kuulut, ilveili Kusti.

— En minä mihinkään seuraan… Näethän, että minä juon olutta.

— Otetaanko vielä? sanoi sälli.

— Kiitos! En välitä… minun täytyy lähteä.

— Mitä, lähteä? Pari purkkia vielä, neiti, puhui Kusti.

Tuotiinhan sitä.

Antin mieltä karvasteli, kun hän oli luvannut tehdä ostokset ja


mennä kotia. Hän ei kuitenkaan kyennyt lähtemään, vaan jäi
jatkamaan maistelemista.

— Nyt on sinun vuorosi, sanoi Kusti, kun viimeiset oli juotu.


Tottahan sinäkin puolestasi, kun sinulla kerran on rahaa.

— Mistä sinä tiedät minun rahani? Häh? Sano!

— Arvaan, ett'et sinäkään rahatta ole.

— Enkä olekaan, jos se kerran siksi tulee. Olutta, enemmän olutta


pöytään, huusi Antti, josta olut oli ehtinyt kaikki hyvät aikeet
haihduttaa.

Kusti Kähkösen mieltä kutkutti, mutta ei hän vielä ääneen


nauranut.

— Tästä tulee hyvä, vel' Antti, erinomaisen hyvä, kunhan vielä


hiukan maistellaan, puhui Kusti.

— Täytyisi kai sitä saada ruokaakin, eihän tässä elettäne


ainoastaan juomalla, sanoi Auvinen.

— Eipä, ei. Vaan ei syödä tässä — näyttäisi rumalta — mennään


toiseen esitteli Kähkönen.

— Sitä minäkin.

Miehet lähtivät toiseen… Eihän tässä kaupungissa ole pitkältä


kapakkain väliä.

Siellä he söivät ja joivat ja melusivat siksi kun Antin rahat olivat


lopussa jok'ikinen penni ja heidät ajettiin ulos.

— Sinä, kele, joka viekottelit minut juomaan, ärjyi Antti kadulla.

— Nyt minua jo naurattaa: ha ha haa, hi hi hii, nauroi Kusti.

— Naurattaako, sen vietävä! Mitä minä nyt kotia vien? kirkui


Auvinen.

— Mitä se minuun tulee, katso itseäsi, ilveili Kähkönen.

— Sinuun se juuri tuleekin. Laita tänne rahat heti, taikka muuten


—, huusi Antti Auvinen raivoissaan.
— Kyllä sinulle enkeli toista tuopi, sanoi Kusti Kähköseksi luultu ja
katosi samassa.

— Kyllä sinulle enkeli… höpisi Antti ja jäi kauhistuneena seistä


noljottamaan kadulle.

Vihdoin lähti hän astua törkkimään kotiansa kohti, johonka vaivoin


saapui.

— Itse pääenkeli antoi minulle rahoja ja pirun kanssa ne juotiin,


sanoi Antti Auvinen kolkosti kompuroiden asuntoonsa ja rötkähti
sänkyyn.

Kauhistuneena alkoi hänen vaimonsa itkeä katkerasti. Lapset jo


nukkuivat… eivät toki heränneet.

Joku kuukausi on kulunut. Sama mies nähdään taas kadulla.


Hänen sisunsa on paisunut ja mielensä katkera. Hän muistelee
kiroillen Kusti Kähköstä ja sitä päivää, jona hänet tapasi. Hän on
pakahtua muistaissaan, kuinka rahat meni ja kaksi kokonaista päivää
työttömänä. Kotona olisivat lapset nälkää nähneet, jos ei äiti olisi
uutta hamettaan ja nuttuaan pantannut. Kelpo äiti ja aviopuoliso tuo
vaimo. Tällä kertaa se ei ollut häntäkään torunut vihassa, ei
parjannut; oli vaan nuhdellut sävyisästi ja kehoittanut työhön, ja ensi
kerran avioliittonsa aikana lohduttanut, että ainahan ihminen erehtyy
ja että vahinko saadaan kyllä ahkeruudella ja säästäväisyydellä
korjatuksi, mutta että vasta on miehuudella taisteltava kiusauksia
vastaan. Niin… niin on tehtävä. Ja nyt hän olisi valmis ja voimakas
taisteluun, jos sattuisi apua saamaan, että saisi aluksi tarpeita kotia
ja vaimonsa vaatteet pois panttilaitoksesta. Miksi ei sekään nainen
saattanut jättää tapaamistaan täksi päiväksi, niin saisin 20 markkaa,
ja nyt se vasta olisikin tarpeen eikä menisi juontiin… ei juontiin eikä
muuhunkaan joutavaan.

Näissä arveluissa astellessaan pitkin katua näki hän jo etäältä


vastaansa tulevan saman naisen yhtä sävyisännäköisenä ja
hymyilevänä kuin viime kerralla. Antti ei ollut näkevinään naista,
koetti karttaa. Hänen sydämmensä löi levottomasti ja mieltä tuntui
ahdistavan. Nainen kuitenkin huomasi hänet ja seisahtui hänen
eteensä.

Nainen tervehti ystävällisesti ja kysyi kuinka hänen kotonansa


voidaan?

Antti ei rohjennut puhua mitään.

— Hyvin tiedän, jatkoi nainen, kuinka sinun yrityksesi viime


kerralla kävi, kuinka kiusaaja sinut viekotteli, sinä kun et jaksanut
houkutuksia torjua. Sinun on vaikea, arvelet sinä, saada apua, että
minun olisi pitänyt täksi päiväksi jättää apuni ja kuinka sinä nyt
tänään olisit voimakkaampi taistelua alkamaan. Voin sinua vieläkin
auttaa koetteeksi, mutta koetakin taistella henkesi koko voimalla
kiusaajata vastaan.

Näin sanoen antoi hän Antille 100 markkaa.

Antti heltyi itkuun, ett'ei voinut mitään sanoa. Hän puristi rajusti
naisen kättä, jonka tämä erotessaan ojensi.

Mies jäi yksin.

— Sata markkaa, kokonainen satamarkkanen! Mikä onnen päivä!


huusi Antti riemuissaan. Nyt se voidaan elämä alottaa uudestaan.
Nyt saadaan, Mari, sinunkin ainoat vaatteesi pantista… saadaan ne
ja vielä muutakin.

Keveä oli Antin jalka kun hän lähti astumaan.

Hänen aikomuksensa oli mennä torille ostamaan joitakin


ruokatavaroita kotia vietäväksi sekä käydä lunastamassa vaimonsa
vaatteet. Mitähän silloin Mari sanoo, kun senlaista näkee
miehestään. Ilo täytti Antin mielen ja hän tunsi itsensä kyllin
voimakkaaksi taistelemaan kaikkia kiusaajan houkutuksia vastaan.
Tyytyväinen mieli on täynnä tunnetta, joka tahtoo kuohua ilmi
laulun, soiton, veisuun tahi muun hyräilyn muodossa. Näin oli
Antinkin. Hän alkoi hyräillä virttä:

"Jumala ompi linnamme".

Samassa joutui hän kellokaupan kohdalle, jossa oli paljo kauniita


kelloja ikkunassa. Hän seisahtui katselemaan kelloja…

"Varustus vahva aivan"…

— Minulla ei ole ollut kelloa sitten kun naimiseen jouduin…

"Hän aseemme on, kilpemme"…

— Nyt sitä olisi rahaa ostaa… "Ajalla vaaran, vaivan"…

— Jäisi sitä vielä muihinkin tarpeihin… "Se vanha vainooja"…

— On tuota tultu kellottakin toimeen…

"Kavala, kauhia"…

— Olisi se sittenkin ostettava. —


Hän oli saapunut toisen kellokaupan luo — "On kiivas,
kiukkuinen"…

— Ehtiipähän sen vielä… Käynpä häntä ensin torilla.

"Ja julma, hirmuinen;


Ei löydy maassa vertaa."

Torilla hän käveli ja katseli kaikkea tavarata. Perunoita hän osti ja


leipää ja voita ja lihaa, tuoretta sekä suolasta, ja kalaa, niin että
hänellä oli kannannainen kuorma tavarata ja vielä oli vaatteet
lunastamatta. Ne olivat kuitenkin välttämättömästi otettavat. Leivät
olivat nuorassa, muut tavarat paperissa. Hän sitoi ne nuoralla
yhteen.

— Ompa siinä kantamista. Ei sitä jaksa, eikä ole tarviskaan.

Hän kutsui issikan, nosti tavarat siihen, maksoi ja käski viedä


tavarat sinne ja sinne; itse sanoi tulevansa perästä.

Hän astui hiljanverkkaan katua ja meni suoraan kellokauppaan.


Siinäpäs oli katsomista ja valitsemista. Kohtelias oli kelloseppäkin…
näytteli kelloja ja kehui… kehui ja näytteli. Sovittiinhan siinä
viimmein kaupoissa. 30 markkaa maksoi kello perineen. Perät tosin
eivät olleet pulskat, vaan työmiehenhän ne olivatkin. Sitten lähti
Antti panttilaitokseen, jossa katsoi pari, kolme kertaa kelloaan, ja
lunasti vaimonsa vaatteet.

Kun hän astui ulos laitoksesta, tuli häntä vastaan nuori ylioppilas.

— Eno Auvinen, sanoi tämä ja seisahtui.

Antti kääntyi katsomaan.


— Kah, sanoi hän, oletko sinä kaupungissa?

— Niinkuin näet, eno.

— Etkä ole meillä käynyt.

— Tulin vasta eilen, enkä tiennyt asuntoanne.

— Tule nyt matkaan, sanoi Antti ja katsoi kelloaan.

— En ehdi, täytyy käydä yliopistolla.

— Pahuus, kun minulle sattui nämä vaatteet, olisin tullut kanssasi.


Olisi sitten yhdessä menty.

— Saadaanhan tuosta kaupunginlähetti. Laitetaan se viemään.

Siitä suostuttiin. Lähetti sai vaatteet ja maksun ja lähti.

Ylioppilas oli käypinään yliopistossa. Antti odotti kadulla.

— Eikös sitä pistäydä jossakin juomassa kuppi kahvia, esitti


ylioppilas tultuaan.

— Voisihan tuota senkin, mutta saammehan me kotona.

— Vaikkapa, mutta kuitenkin. Menivät kahvilaan ja tilasivat kahvit.

— Etkös ota, eno, konjakkia?

— En nyt pidä väliä.

— Minä tarjoon. Saaneehan tuota sisarenpoika enolleen


kerrankaan yhden lasin tarjota. Eihän tässä aina yhdessä olla. Minun
ainakin täytyy ottaa, tuntuu vatsaani vääntävän.
— Jos tuota sitten ottaisi.

Miehet tekivät "kupit", ja kun kerta yhdet oli tehty, niin tottahan
sitä piti toiselle jalallekin ottaa… Tottahan tuota sisarenpoika saapi
enolleen kaksikin lasia tarjota. Eihän se ole missään kielletty… ei
sanassa eikä laissa eikä missään. Ja kun ne on kaikki, niin "ei kaksi
kolmannetta." Kun sitten sisarenpoika on enolleen tarjonnut, niin
kyllä kait enokin saapi sisarenpoikaansa vieraana pitää, olletikin kun
sattuu varoja olemaan. Eihän sitä siltä juoppo ole, eikä jatkaa
tarvitse. Ja kyllähän kotonakin toimeen tulevat. Onhan siellä
ruokaa… ruokaa jos muutakin.

Näistä ja muista tällaisista syistä sitä tavallisesti ryypätään ja niin


teki eno ja sisarenpoikakin. Kupin toisensa perästä he kallistivat,
puhe kävi yhä pulskemmaksi ja ilo nousi ylimmilleen, niin kuin
ainakin, kun eno ja sisarenpoika pitkän ajan perästä toisensa tapaa.
Päivä alkoi jo iltaantua, kun sisarenpoika ehdotti, etteikö lähdetä
Alppilaan saamaan vähän raitista ilmaa. Sitä ehdotusta vastaan ei
tietysti enolla ollut mitään muuta kuin — millä sinne mennään, kun
taitaa varat alkaa väsäytyä.

Ottivat siitä ja pitivät kassantarkastuksen, jonka lopputulos ei


suinkaan ollut ilahduttava, sillä enolla oli ainoastaan 2 markkaa
jälellä, sisarenpojalla 1.

Ylioppilas ei kuitenkaan koskaan ole neuvoton.

— Paljoko kello? kysyi hän enoltaan.

— Puolivälissä kuusi!

— Tiedätkö mitä?
Welcome to our website – the ideal destination for book lovers and
knowledge seekers. With a mission to inspire endlessly, we offer a
vast collection of books, ranging from classic literary works to
specialized publications, self-development books, and children's
literature. Each book is a new journey of discovery, expanding
knowledge and enriching the soul of the reade

Our website is not just a platform for buying books, but a bridge
connecting readers to the timeless values of culture and wisdom. With
an elegant, user-friendly interface and an intelligent search system,
we are committed to providing a quick and convenient shopping
experience. Additionally, our special promotions and home delivery
services ensure that you save time and fully enjoy the joy of reading.

Let us accompany you on the journey of exploring knowledge and


personal growth!

ebooknice.com

You might also like