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...

Full description

Bibliographic Details
Main Author: Savitch, Walter.
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 &lt
  • cstring&gt
  • 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 &gt
  • &gt
  • 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.