Great Deals on Used Textbooks & New Textbooks!               
My Account | Help Desk | Market Place Shopping Cart
Free shipping. Click here for details.
No items in cart.
Total: $0.00
Textbooks Sell Textbooks Books Supplies Medical Books College Apparel Movies Clearance
Search  Advanced >>
Related Topics: Computers >> Programming Languages >> C++
Programming and Problem Solving With C++,9780763721039
Other versions by this Author

Programming and Problem Solving With C++


Edition: 3rd
Author(s): Dale, Nell B.; Weems, Chip; Headington, Mark R.
ISBN10:  0763721034
ISBN13:  9780763721039
Format:  Paperback
Pub. Date:  11/1/2001
Publisher(s): Jones & Bartlett Pub

Buy in Bulk
Send to a friend
New Price  $9.84
List Price $81.95
eVIP Price  $9.35
New Copy:  In Stock Usually Ships in 24 Hours.
Only 1 left at this sale price!
Order Now!
add remove
Marketplace Price $0.01
List Price $81.95 Available in the eCampus Marketplace
Take 90 Days to Pay on $250 or more
with Quick, Easy, Secure
Subject to credit approval.
SummaryTable of Contents
This book continues to reflect our experience that topics once considered too advanced can be taught in the first course. The text addresses metalanguages explicitly as the formal means of specifying programming language syntax.
Preface v
Overview of Programming and Problem Solving
1(42)
Overview of Programming
2(7)
What Is Programming?
2(1)
How Do We Write a Program?
3(6)
What Is a Programming Language?
9(6)
What Is a Computer?
15(9)
Ethics and Responsibilities in the Computing Profession
24(3)
Software Piracy
24(1)
Privacy of Data
25(1)
Use of Computer Resources
26(1)
Software Engineering
27(1)
Problem-Solving Techniques
27(16)
Ask Questions
28(1)
Look for Things That Are Familiar
28(1)
Solve by Analogy
28(1)
Means-Ends Analysis
29(1)
Divide and Conquer
30(1)
The Building-Block Approach
30(1)
Merging Solutions
31(1)
Mental Blocks: The Fear of Starting
32(1)
Algorithmic Problem Solving
33(1)
Problem-Solving Case Study: An Algorithm for an Employee Paycheck
33(4)
Summary
37(1)
Quick Check
38(1)
Answers
39(1)
Exam Preparation Exercises
39(2)
Programming Warm-Up Exercises
41(1)
Case Study Follow-Up
41(2)
C++ Syntax and Semantics, and the Program Development Process
43(52)
The Elements of C++ Programs
44(23)
C++ Program Structure
44(2)
Syntax and Semantics
46(3)
Syntax Templates
49(3)
Naming Program Elements: Identifiers
52(1)
Data and Data Types
53(3)
Naming elements: Declarations
56(5)
Taking Action: Executable Statements
61(5)
Beyond Minimalism: Adding Comments to a Program
66(1)
Program Construction
67(7)
Blocks (Compound Statements)
69(2)
The C++ Preprocessor
71(2)
An Introduction to Namespaces
73(1)
More About Output
74(2)
Creating Blank Lines
74(1)
Inserting Blanks Within a Line
75(1)
Program Entry, Correction, and Execution
76(19)
Entering a Program
76(1)
Compiling and Running a Program
77(1)
Finishing Up
78(1)
Problem-Solving Case Study: Contest Letter
79(4)
Testing and Debugging
83(1)
Summary
84(1)
Quick Check
85(2)
Answers
87(1)
Exam Preparation Exercises
88(2)
Programming Warm-Up Exercises
90(2)
Programming Problems
92(2)
Case Study Follow-Up
94(1)
Numeric Types, Expressions, and Output
95(52)
Overview of C++ Data Types
96(1)
Numeric Data Types
97(2)
Integral Types
97(1)
Floating-Point Types
98(1)
Declarations for Numeric Types
99(2)
Named Constant Declarations
99(1)
Variable Declarations
100(1)
Simple Arithmetic Expressions
101(4)
Arithmetic Operators
101(3)
Increment and Decrement Operators
104(1)
Compound Arthmetic Expressions
105(6)
Precedence Rules
105(1)
Type Coercion and Type Casting
106(5)
Function Calls and Library Functions
111(4)
Value-Returning Functions
111(2)
Library Functions
113(1)
Void Functions
114(1)
Formatting the Output
115(7)
Integers and Strings
115(3)
Floating-Point Numbers
118(4)
Additional String Operations
122(25)
The length and size Functions
122(2)
The find Function
124(1)
The substr Function
125(3)
Problem-Solving Case Study: Painting Traffic Cones
128(4)
Testing and Debugging
132(1)
Summary
133(1)
Quick Check
133(2)
Answers
135(1)
Exam Preparation Exercises
136(4)
Programming Warm-Up Exercises
140(3)
Programming Problems
143(2)
Case Study Follow-Up
145(2)
Program Input and the Software Design Process
147(54)
Getting Data into Programs
148(10)
Input Streams and the Extraction Operator (>>)
149(3)
The Reading Marker and the Newline Character
152(1)
Reading Character Data with the get Function
153(3)
Skipping Characters with the ignore Function
156(1)
Reading String Data
157(1)
Interactive Input/Output
158(2)
Noninteractive Input/Output
160(1)
File Input and Output
161(7)
Files
161(1)
Using Files
162(3)
An Example Program Using Files
165(2)
Run-Time Input of File Names
167(1)
Input Failure
168(2)
Software Design Methodologies
170(1)
What Are Objects?
171(2)
Object-Oriented Design
173(1)
Functional Decomposition
174(27)
Modules
176(1)
Implementing the Design
177(4)
A Perspective on Design
181(2)
Problem-Solving Case Study: Stretching a Canvas
183(6)
Testing and Debugging
189(2)
Testing and Debugging Hints
191(1)
Summary
191(1)
Quick Check
192(1)
Answers
193(1)
Exam Preparation Exercises
193(3)
Programming Warm-Up Exercises
196(2)
Programming Problems
198(1)
Case Study Follow-Up
199(2)
Conditions, Logical Expressions, and Selection Control Structures
201(60)
Flow of Control
202(2)
Selection
203(1)
Conditions and Logical Expressions
204(13)
The bool Data Type
204(1)
Logical Expressions
205(9)
Precedence of Operators
214(2)
Relational Operators with Floating-Point Types
216(1)
The If Statement
217(7)
The If-Then-Else Form
217(3)
Blocks (Compound Statements)
220(2)
The If-Then Form
222(2)
A Common Mistake
224(1)
Nested If Statements
224(5)
The Dangling else
228(1)
Testing the State of an I/O Stream
229(32)
Problem-Solving Case Study: Warning Notices
231(5)
Testing and Debugging
236(1)
Testing in the Problem-Solving Phase: The Algorithm Walk-Through
236(3)
Testing in the Implementation Phase
239(5)
The Test Plan
244(2)
Tests Performed Automatically During Compilation and Execution
246(1)
Testing and Debugging Hints
247(2)
Summary
249(1)
Quick Check
249(1)
Answers
250(1)
Exam Preparation Exercises
250(4)
Programming Warm-Up Exercises
254(2)
Programming Problems
256(3)
Case Study Follow-Up
259(2)
Looping
261(48)
The While Statement
262(2)
Phases of Loop Execution
264(1)
Loops Using the While Statement
265(11)
Count-Controlled Loops
265(2)
Event-Controlled Loops
267(6)
Looping Subtasks
273(3)
How to Design Loops
276(4)
Designing the Flow of Control
277(1)
Designing the Process Within the Loop
278(1)
The Loop Exit
279(1)
Nested Logic
280(29)
Designing Nested Loops
284(7)
Problem-Solving Case Study: Average Income by Gender
291(6)
Testing and Debugging
297(1)
Loop-Testing Strategy
297(1)
Test Plans Involving Loops
297(2)
Testing and Debugging Hints
299(1)
Summary
300(1)
Quick Check
301(1)
Answers
301(1)
Exam Preparation Exercises
302(3)
Programming Warm-Up Exercises
305(1)
Programming Problems
305(3)
Case Study Follow-Up
308(1)
Functions
309(62)
Functional Decomposition with Void Functions
310(6)
When to Use Functions
311(1)
Writing Modules as Void Functions
311(5)
An Overview of User-Defined Functions
316(3)
Flow of Control in Function Calls
316(1)
Function Parameters
316(3)
Syntax and Semantics of Void Functions
319(7)
Function Call (Invocation)
319(1)
Function Declarations and Definitions
320(2)
Local Variables
322(2)
The Return Statement
324(1)
Header Files
325(1)
Parameters
326(9)
Value Parameters
327(1)
Reference Parameters
328(3)
An Analogy
331(1)
Matching Arguments with Parameters
332(3)
Designing Functions
335(36)
Writing Assertions as Program Comments
337(2)
Documenting the Direction of Data Flow
339(4)
Problem-Solving Case Study: Comparision of Furniture-Store Sales
343(9)
Testing and Debugging
352(1)
The assert Library Function
353(1)
Testing and Debugging Hints
354(1)
Summary
355(1)
Quick Check
356(1)
Answers
357(1)
Exam Preparation Exercises
357(6)
Programming Warm-Up Exercises
363(2)
Programming Problems
365(4)
Case Study Follow-Up
369(2)
Scope, Lifetime, and More on Functions
371(66)
Scope of Identifiers
372(10)
Scope Rules
374(4)
Variable Declarations and Definitions
378(1)
Namespaces
379(3)
Lifetime of a Variable
382(2)
Initializations in Declarations
382(2)
Interface Design
384(5)
Side Effects
384(3)
Global Constants
387(2)
Value-Returning Functions
389(48)
Boolean Functions
394(4)
Interface Design and Side Effects
398(1)
When to Use Value-Returning Functions
399(2)
Problem-Solving Case Study: Reformat Dates
401(11)
Problem-Solving Case Study: Starship Weight and Balance
412(11)
Testing and Debugging
423(1)
Stubs and Drivers
423(2)
Testing and Debugging Hints
425(1)
Summary
426(1)
Quick Check
427(1)
Answers
428(1)
Exam Preparation Exercises
428(4)
Programming Warm-Up Exercises
432(1)
Programming Problems
433(2)
Case Study Follow-Up
435(2)
Additional Control Structures
437(32)
The Switch Statement
438(5)
The Do-While Statement
443(3)
The For Statement
446(4)
The Break and Continue Statements
450(3)
Guidelines for Choosing a Looping Statement
453(16)
Problem-Solving Case Study: Monthly Rainfall Averages
454(5)
Testing and Debugging
459(1)
Testing and Debugging Hints
460(1)
Summary
460(1)
Quick Check
461(1)
Answers
461(1)
Exam Preparation Exercises
462(1)
Programming Warm-Up Exercises
463(2)
Programming Problems
465(2)
Case Study Follow-Up
467(2)
Simple Data Types: Built-In and User-Defined
469(78)
Built-In Simple Types
470(6)
Integral Types
472(3)
Floating-Point Types
475(1)
Additional C++ Operators
476(8)
Assignment Operators and Assignment Expressions
478(1)
Increment and Decrement Operators
479(1)
Bitwise Operators
480(1)
The Cast Operation
480(1)
The sizeof Operator
481(1)
The ?: Operator
481(1)
Operator Precedence
482(2)
Working with Character Data
484(11)
Character Sets
485(2)
C++ char Constants
487(1)
Programming Techniques
488(7)
More on Floating-Point Numbers
495(10)
Representation of Floating-Point Numbers
495(3)
Arithmetic with Floating-Point Numbers
498(1)
Implementation of Floating-Point Numbers in the Computer
499(6)
User-Defined Simple Types
505(10)
The Typedef Statement
506(1)
Enumeration Types
506(7)
Named and Anonymous Data Types
513(1)
User-Written Header Files
514(1)
More on Type Coercion
515(32)
Type Coercion in Arithmetic and Relational Expressions
516(1)
Type Coercion in Assignments, Argument Passing, and Return of a Function Value
517(2)
Problem-Solving Case Study: Finding the Area Under a Curve
519(8)
Problem-Solving Case Study: Rock, Paper, Scissors
527(9)
Testing and Debugging
536(1)
Floating-Point Data
536(1)
Coping with Input Errors
536(1)
Testing and Debugging Hints
537(2)
Summary
539(1)
Quick Check
539(1)
Answers
540(1)
Exam Preparation Exercises
540(3)
Programming Warm-Up Exercises
543(1)
Programming Problems
544(1)
Case Study Follow-Up
545(2)
Structured Types, Data Abstraction, and Classes
547(84)
Simple Versus Structured Data Types
548(1)
Records (C++ Structs)
549(8)
Accessing Individual Components
551(2)
Aggregate Operations on Structs
553(1)
More About Struct Declarations
554(1)
Hierarchical Records
555(2)
Unions
557(2)
Data Abstraction
559(2)
Abstract Data Types
561(3)
C++ Classes
564(9)
Classes, Class Objects, and Class Members
568(1)
Built-in Operations on Class Objects
569(2)
Class Scope
571(1)
Information Hiding
571(2)
Specification and Implementation Files
573(9)
The Specification File
573(2)
The Implementation File
575(5)
Compiling and Linking a Multifile Program
580(2)
Guaranteed Initialization with Class Constructors
582(49)
Invoking a Constructor
584(1)
Revised Specification and Implementation Files for TimeType
585(3)
Guidelines for Using Class Constructors
588(2)
Problem-Solving Case Study: Manipulating Dates
590(12)
Problem-Solving Case Study: Birthday Calls
602(8)
Testing and Debugging
610(4)
Testing and Debugging Hints
614(1)
Summary
615(1)
Quick Check
615(2)
Answers
617(2)
Exam Preparation Exercises
619(3)
Programming Warm-Up Exercises
622(2)
Programming Problems
624(4)
Case Study Follow-Up
628(3)
Arrays
631(76)
One-Dimensional Arrays
632(17)
Declaring Arrays
634(1)
Accessing Individual Components
635(3)
Out-of-Bounds Array Indexes
638(1)
Initializing Arrays in Declarations
638(1)
(Lack of) Aggregate Array Operations
639(1)
Examples of Declaring and Accessing Arrays
640(5)
Passing Arrays as Arguments
645(3)
Assertions About Arrays
648(1)
Using Typedef with Arrays
648(1)
Arrays of Records and Class Objects
649(3)
Arrays of Records
649(2)
Arrays of Class Objects
651(1)
Special Kinds of Array Processing
652(1)
Subarray Processing
652(1)
Indexes with Semantic Content
652(1)
Two-Dimensional Arrays
653(3)
Processing Two-Dimensional Arrays
656(6)
Sum the Rows
657(2)
Sum the Columns
659(1)
Initialize the Array
660(1)
Print the Array
661(1)
Passing Two-Dimensional Arrays as Arguments
662(2)
Another Way of Defining Two-Dimensional Arrays
664(2)
Multidimensional Arrays
666(41)
Problem-Solving Case Study: Comparison of Two Lists
669(6)
Problem-Solving Case Study: City Council Election
675(10)
Testing and Debugging
685(1)
One-Dimensional Arrays
685(1)
Complex Structures
686(1)
Multidimensional Arrays
687(1)
Testing and Debugging Hints
688(1)
Summary
689(1)
Quick Check
689(2)
Answers
691(1)
Exam Preparation Exercises
692(6)
Programming Warm-Up Exercises
698(3)
Programming Problems
701(4)
Case Study Follow-Up
705(2)
Array-Based Lists
707(58)
The List as an Abstract Data Type
708(5)
Unsorted Lists
713(11)
Basic Operations
713(3)
Insertion and Deletion
716(2)
Sequential Search
718(3)
Sorting
721(3)
Sorted Lists
724(15)
Basic Operations
726(1)
Insertion
727(3)
Sequential Search
730(1)
Binary Search
730(6)
Deletion
736(3)
Understanding Character Strings
739(26)
Initializing C Strings
742(1)
C String Input and Output
743(3)
C String Library Routines
746(1)
String Class or C Strings?
747(1)
Problem-Solving Case Study: Exam Attendance
748(7)
Testing and Debugging
755(1)
Testing and Debugging Hints
756(1)
Summary
757(1)
Quick Check
757(1)
Answers
758(1)
Exam Preparation Exercises
758(3)
Programming Warm-Up Exercises
761(1)
Programming Problems
762(1)
Case Study Follow-Up
763(2)
Object-Oriented Software Development
765(60)
Object-Oriented Programming
766(2)
Objects
768(1)
Inheritance
769(12)
Deriving One Class from Another
770(4)
Specification of the ExtTime Class
774(2)
Implementation of the ExtTime Class
776(4)
Avoiding Multiple Inclusion of Header Files
780(1)
Composition
781(4)
Design of a TimeCard Class
782(1)
Implementation of the TimeCard Class
783(2)
Dynamic Binding and Virtual Functions
785(5)
The Slicing Problem
787(1)
Virtual Functions
788(2)
Object-Oriented Design
790(3)
Identify the Objects and Operations
790(2)
Determine the Relationships Among Objects
792(1)
Design the Driver
792(1)
Implementing the Design
793(32)
Problem-Solving Case Study: Time Card Lookup
794(20)
Testing and Debugging
814(1)
Testing and Debugging Hints
815(1)
Summary
816(1)
Quick Check
816(2)
Answers
818(1)
Exam Preparation Exercises
819(3)
Programming Warm-Up Exercises
822(1)
Programming Problems
823(1)
Case Study Follow-Up
824(1)
Pointers, Dynamic Data, and Reference Types
825(72)
Pointers
826(10)
Pointer Variables
826(5)
Pointer Expressions
831(5)
Dynamic Data
836(6)
Reference Types
842(4)
Classes and Dynamic Data
846(51)
Class Destructors
851(1)
Shallow Versus Deep Copying
852(2)
Class Copy-Constructors
854(3)
Problem-Solving Case Study: Personnel Records
857(15)
Problem-Solving Case Study: Dynamic Arrays
872(10)
Testing and Debugging
882(2)
Testing and Debugging Hints
884(1)
Summary
885(1)
Quick Check
886(1)
Answers
887(1)
Exam Preparation Exercises
888(4)
Programming Warm-Up Exercises
892(1)
Programming Problems
893(1)
Case Study Follow-Up
894(3)
Linked Structures
897(66)
Sequential Versus Linked Structures
898(2)
Array Representation of a Linked List
900(2)
Dynamic Data Representation of a Linked List
902(27)
Algorithms on Dynamic Linked Lists
908(18)
Pointer Expressions
926(1)
Classes and Dynamic Linked Lists
927(2)
Choice of Data Representation
929(34)
Problem-Solving Case Study: Simulated Playing Cards
930(8)
Problem-Solving Case Study: Solitaire Simulation
938(18)
Testing and Debugging
956(1)
Testing and Debugging Hints
956(1)
Summary
956(1)
Quick Check
957(1)
Answers
957(1)
Exam Preparation Exercises
957(3)
Programming Warm-Up Exercises
960(1)
Programming Problems
961(1)
Case Study Follow-Up
962(1)
Templates and Exceptions
963(54)
Template Functions
964(10)
Function Overloading
964(3)
Defining a Function Template
967(1)
Instantiating a Function Template
968(1)
Enhancing the Print Template
969(1)
User-Defined Specializations
970(1)
Organization of Program Code
971(3)
Template Classes
974(8)
Instantiating a Class Template
976(2)
Organization of Program Code
978(3)
A Caution
981(1)
Exceptions
982(35)
The throw Statement
983(2)
The try-catch Statement
985(3)
Nonlocal Exception Handlers
988(3)
Re-Throwing an Exception
991(1)
Standard Exceptions
992(3)
Back to the Division-by-Zero Problem
995(1)
Problem-Solving Case Study: The SortedList Class Revisited
996(11)
Testing and Debugging
1007(1)
Testing and Debugging Hints
1007(1)
Summary
1008(1)
Quick Check
1009(1)
Answers
1010(1)
Exam Preparation Exercises
1011(1)
Programming Warm-Up Exercises
1012(2)
Programming Problems
1014(1)
Case Study Follow-Up
1014(3)
Recursion
1017(38)
What Is Recursion?
1018(4)
Recursive Algorithms with Simple Variables
1022(3)
Towers of Hanoi
1025(5)
Recursive Algorithms with Structured Variables
1030(2)
Recursion Using Pointer Variables
1032(8)
Printing a Dynamic Linked List in Reverse Order
1032(3)
Copying a Dynamic Linked List
1035(5)
Recursion or Iteration?
1040(15)
Problem-Solving Case Study: Converting Decimal Integers to Binary Integers
1041(3)
Problem-Solving Case Study: Minimum Value in an Integer Array
1044(2)
Testing and Debugging
1046(1)
Testing and Debugging Hints
1046(1)
Summary
1047(1)
Quick Check
1047(1)
Answers
1048(1)
Exam Preparation Exercises
1048(2)
Programming Warm-Up Exercises
1050(2)
Programming Problems
1052(1)
Case Study Follow-Up
1053(2)
Appendix A Reserved Words 1055(1)
Appendix B Operator Precedence 1055(2)
Appendix C A Selection of Standard Library Routines 1057(9)
Appendix D Using This Book with a Prestandard Version of C++ 1066(5)
Appendix E Character Sets 1071(2)
Appendix F Program Style, Formatting, and Documentation 1073(8)
Glossary 1081(10)
Answers to Selected Exercises 1091(34)
Index 1125

Check Out These Items!
eCampus.com Pink Backpack eCampus.com Pink Backpack
Retail Price $28.95
Our Price $10.00
eCampus.com T-Shirt eCampus.com T-Shirt
Retail Price $14.99
Our Price $2.00
eCampus.com 4GB USB Drive eCampus.com 4GB USB Drive
Retail Price $32.95
Our Price $25.00
  Buy Textbooks
  Sell Textbooks
  College Apparel
  Shop by School
  Virtual Bookstores
  Order Status
  Shipping Rates
  Return Policy
  Marketplace Info
  F.A.S.T.
  Contact Us
  Privacy Policy
  Legal Notices
  Site Security
  Employment
  Help Desk
  eCampus Blog
  Affiliate Program
  Bulk Orders
  College Marketing
HACKER SAFE certified sites prevent over 99.9% of hacker crime.
eCampus.com blog follow eCampus.com on twitter find eCampus.com on facebook RSS Need Help? eService@ecampus.com   Copyright© 1999-2008     
.