Problem Solving with C++, Global Edition.
For courses in C++ introductory programming.Teach the fundamentals of C++ programming with an emphasis on problem solvingNow in its10th Edition, Problem Solving with C++is written for the beginning programmer. The text cultivates strong problem-solving skills and programming techniques as it introdu...
Main Author: | |
---|---|
Format: | eBook |
Language: | English |
Published: |
Harlow, United Kingdom :
Pearson Education, Limited,
2017.
|
Edition: | 10th ed. |
Subjects: | |
Online Access: | View fulltext via EzAccess |
Table of Contents:
- Cover
- Inside Front Cover
- Title Page
- Copyright Page
- Preface
- Acknowledgments
- Brief Contents
- Contents
- Chapter 1 Introduction to Computers and C++ Programming
- 1.1 COMPUTER SYSTEMS
- Hardware
- Software
- High-Level Languages
- Compilers
- History Note
- 1.2 PROGRAMMING AND PROBLEM-SOLVING
- Algorithms
- Program Design
- Object-Oriented Programming
- The Software Life Cycle
- 1.3 INTRODUCTION TO C++
- Origins of the C++ Language
- A Sample C++ Program
- Pitfall: Using the Wrong Slash in \n
- Programming Tip: Input and Output Syntax
- Layout of a Simple C++ Program
- Pitfall: Putting a Space Before the include File Name
- Compiling and Running a C++ Program
- Pitfall: Compiling a C++11 Program
- Programming Tip: Getting Your Program to Run
- 1.4 TESTING AND DEBUGGING
- Kinds of Program Errors
- Pitfall: Assuming Your Program Is Correct
- Chapter Summary
- Answers to Self-Test Exercises
- Practice Programs
- Programming Projects
- Chapter 2 C++ Basics
- 2.1 VARIABLES AND ASSIGNMENTS
- Variables
- Names: Identifiers
- Variable Declarations
- Assignment Statements
- Pitfall: Uninitialized Variables
- Programming Tip: Use Meaningful Names
- 2.2 INPUT AND OUTPUT
- Output Using cout
- Include Directives and Namespaces
- Escape Sequences
- Programming Tip: End Each Program with a \n or end1
- Formatting for Numbers with a Decimal Point
- Input Using cin
- Designing Input and Output
- Programming Tip: Line Breaks in I/O
- 2.3 DATA TYPES AND EXPRESSIONS
- The Types int and double
- Other Number Types
- C++11 Types
- The Type char
- The Type bool
- Introduction to the Class string
- Type Compatibilities
- Arithmetic Operators and Expressions
- Pitfall: Whole Numbers in Division
- More Assignment Statements
- 2.4 SIMPLE FLOW OF CONTROL
- A Simple Branching Mechanism.
- Pitfall: Strings of Inequalities
- Pitfall: Using = in place of ==
- Compound Statements
- Simple Loop Mechanisms
- Increment and Decrement Operators
- Programming Example: Charge Card Balance
- Pitfall: Infinite Loops
- 2.5 PROGRAM STYLE
- Indenting
- Comments
- Naming Constants
- Chapter Summary
- Answers to Self-Test Exercises
- Practice Programs
- Programming Projects
- Chapter 3 More Flow of Control
- 3.1 USING BOOLEAN EXPRESSIONS
- Evaluating Boolean Expressions
- Pitfall: Boolean Expressions Convert to int Values
- Enumeration Types (Optional)
- 3.2 MULTIWAY BRANCHES
- Nested Statements
- Programming Tip: Use Braces in Nested Statements
- Multiway if-else Statements
- Programming Example: State Income Tax
- The switch Statement
- Pitfall: Forgetting a break in a switch Statement
- Using switch Statements for Menus
- Blocks
- Pitfall: Inadvertent Local Variables
- 3.3 MORE ABOUT C++ LOOP STATEMENTS
- The while Statements Reviewed
- Increment and Decrement Operators Revisited
- The for Statement
- Pitfall: Extra Semicolon in a for Statement
- What Kind of Loop to Use
- Pitfall: Uninitialized Variables and Infinite Loops
- The break Statement
- Pitfall: The break Statement in Nested Loops
- 3.4 DESIGNING LOOPS
- Loops for Sums and Products
- Ending a Loop
- Nested Loops
- Debugging Loops
- Chapter Summary
- Answers to Self-Test Exercises
- Practice Programs
- Programming Projects
- Chapter 4 Procedural Abstraction and Functions That Return a Value
- 4.1 TOP-DOWN DESIGN
- 4.2 PREDEFINED FUNCTIONS
- Using Predefined Functions
- Random Number Generation
- Type Casting
- Older Form of Type Casting
- Pitfall: Integer Division Drops the Fractional Part
- 4.3 PROGRAMMER-DEFINED FUNCTIONS
- Function Definitions
- Functions That Return a Boolean Value
- Alternate Form for Function Declarations.
- Pitfall: Arguments in the Wrong Order
- Function Definition-Syntax Summary
- More About Placement of Function Definitions
- Programming Tip: Use Function Calls in Branching Statements
- 4.4 PROCEDURAL ABSTRACTION
- The Black-Box Analogy
- Programming Tip: Choosing Formal Parameter Names
- Programming Tip: Nested Loops
- Case Study: Buying Pizza
- Programming Tip: Use Pseudocode
- 4.5 SCOPE AND LOCAL VARIABLES
- The Small Program Analogy
- Programming Example: Experimental Pea Patch
- Global Constants and Global Variables
- Call-by-Value Formal Parameters Are Local Variables
- Block Scope
- Namespaces Revisited
- Programming Example: The Factorial Function
- 4.6 OVERLOADING FUNCTION NAMES
- Introduction to Overloading
- Programming Example: Revised Pizza-Buying Program
- Automatic Type Conversion
- Chapter Summary
- Answers to Self-Test Exercises
- Practice Programs
- Programming Projects
- Chapter 5 Functions for All Subtasks
- 5.1 VOID FUNCTIONS
- Definitions of void Functions
- Programming Example: Converting Temperatures
- return Statements in void Functions
- 5.2 CALL-BY-REFERENCE PARAMETERS
- A First View of Call-by-Reference
- Call-by-Reference in Detail
- Programming Example: The swapValues Function
- Mixed Parameter Lists
- Programming Tip: What Kind of Parameter to Use
- Pitfall: Inadvertent Local Variables
- 5.3 USING PROCEDURAL ABSTRACTION
- Functions Calling Functions
- Preconditions and Postconditions
- Case Study: Supermarket Pricing
- 5.4 TESTING AND DEBUGGING FUNCTIONS
- Stubs and Drivers
- 5.5 GENERAL DEBUGGING TECHNIQUES
- Keep an Open Mind
- Check Common Errors
- Localize the Error
- The assert Macro
- Chapter Summary
- Answers to Self-Test Exercises
- Practice Programs
- Programming Projects
- Chapter 6 I/O Streams as an Introduction to Objects and Classes.
- 6.1 STREAMS AND BASIC FILE I/O
- Why Use Files for I/O?
- File I/O
- Introduction to Classes and Objects
- Programming Tip: Check Whether a File Was Opened Successfully
- Techniques for File I/O
- Appending to a File (Optional)
- File Names as Input (Optional)
- 6.2 TOOLS FOR STREAM I/O
- Formatting Output with Stream Functions
- Manipulators
- Streams as Arguments to Functions
- Programming Tip: Checking for the End of a File
- A Note on Namespaces
- Programming Example: Cleaning Up a File Format
- 6.3 CHARACTER I/O
- The Member Functions get and put
- The putback Member Function (Optional)
- Programming Example: Checking Input
- Pitfall: Unexpected '\n' in Input
- Programming Example: Another newLine Function
- Default Arguments for Functions (Optional)
- The eof Member Function
- Programming Example: Editing a Text File
- Predefined Character Functions
- Pitfall: toupper and tolower Return Values
- Chapter Summary
- Answers to Self-Test Exercises
- Practice Programs
- Programming Projects
- Chapter 7 Arrays
- 7.1 INTRODUCTION TO ARRAYS
- Declaring and Referencing Arrays
- Programming Tip: Use for Loops with Arrays
- Pitfall: Array Indexes Always Start with Zero
- Programming Tip: Use a Defined Constant for the Size of an Array
- Arrays in Memory
- Pitfall: Array Index Out of Range
- Initializing Arrays
- Programming Tip: C++11 Range-Based for Statement
- 7.2 ARRAYS IN FUNCTIONS
- Indexed Variables as Function Arguments
- Entire Arrays as Function Arguments
- The const Parameter Modifier
- Pitfall: Inconsistent Use of const Parameters
- Functions That Return an Array
- Case Study: Production Graph
- 7.3 PROGRAMMING WITH ARRAYS
- Partially Filled Arrays
- Programming Tip: Do Not Skimp on Formal Parameters
- Programming Example: Searching an Array
- Programming Example: Sorting an Array.
- Programming Example: Bubble Sort
- 7.4 MULTIDIMENSIONAL ARRAYS
- Multidimensional Array Basics
- Multidimensional Array Parameters
- Programming Example: Two-Dimensional Grading Program
- Pitfall: Using Commas Between Array Indexes
- Chapter Summary
- Answers to Self-Test Exercises
- Practice Programs
- Programming Projects
- Chapter 8 Strings and Vectors
- 8.1 AN ARRAY TYPE FOR STRINGS
- C-String Values and C-String Variables
- Pitfall: Using = and == with C Strings
- Other Functions in <
- cstring>
- Pitfall: Copying past the end of a C-string using strcpy
- C-String Input and Output
- C-String-to-Number Conversions and Robust Input
- 8.2 THE STANDARD STRING CLASS
- Introduction to the Standard Class string
- I/O with the Class string
- Programming Tip: More Versions of getline
- Pitfall: Mixing cin >
- >
- variable
- and getline
- String Processing with the Class string
- Programming Example: Palindrome Testing
- Converting between string Objects and C Strings
- Converting Between Strings and Numbers
- 8.3 VECTORS
- Vector Basics
- Pitfall: Using Square Brackets Beyond the Vector Size
- Programming Tip: Vector Assignment Is Well Behaved
- Efficiency Issues
- Chapter Summary
- Answers to Self-Test Exercises
- Practice Programs
- Programming Projects
- Chapter 9 Pointers and Dynamic Arrays
- 9.1 POINTERS
- Pointer Variables
- Basic Memory Management
- Pitfall: Dangling Pointers
- Static Variables and Automatic Variables
- Programming Tip: Define Pointer Types
- 9.2 DYNAMIC ARRAYS
- Array Variables and Pointer Variables
- Creating and Using Dynamic Arrays
- Pointer Arithmetic (Optional)
- Multidimensional Dynamic Arrays (Optional)
- Chapter Summary
- Answers to Self-Test Exercises
- Practice Programs
- Programming Projects
- Chapter 10 Defining Classes
- 10.1 STRUCTURES.
- Structures for Diverse Data.