Book description
Completely revised and updated with the latest version of C++, the new Fifth Edition of Programming and Problem Solving with C++ provides the clearest introduction to C++, object-oriented programming, and software development available. Renowned author team Nell Dale and Chip Weems are careful to include all topics and guidelines put forth by the ACM/IEEE. A new chapter on Data Structures makes this text ideal for the one- or two-term course. New Software Maintenance Case Studies teach students how to read code in order to debug, alter, or enhance existing class or code segments.Table of contents
- Cover Page
- Title Page
- Copyright Page
- Contents
- Preface
-
1 - Overview of Programming and Problem Solving
- 1.1 - Overview of Programming
- 1.2 - How does a Computer Run a Program?
- Software Maintenance Case Study: An Introduction to Software Maintenance
- 1.3 - What's Inside the Computer?
- 1.4 - Ethics and Responsibilities in the Computing Profession
- 1.5 - Problem-Solving Techniques
- Problem-Solving Case Study: Leap Year Algorithm
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Case Study Follow-Up
- Line Number
-
2 -C++ Syntax and Semantics, and the Program Development Process
- 2.1 - The Elements of C++ Programs
- 2.2 - Program Construction
- Software Maintenance Case Study: Adding Titles to Names
- 2.3 - More About Output
- 2.4 - Program Entry, Correction, and Execution
- Problem-Solving Case Study: Printing a Chessboard
- Testing and Debugging
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
-
3 -Numeric Types, Expressions, and Output
- 3.1 - Overview of C++ Data Types
- 3.2 - Numeric Data Types
- 3.3 - Declarations for Numeric Types
- 3.4 - Simple Arithmetic Expressions
- 3.5 - Compound Arithmetic Expressions
- Software Maintenance Case Study: Precedence Error
- 3.6 - Function Calls and Library Functions
- 3.7 - Formatting Output
- 3.8 - Additional string Operations
- Problem-Solving Case Study: Mortgage Payment Calculator
- Testing and Debugging
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
-
4 -Program Input and the Software Design Process
- 4.1 - Getting Data into Programs
- 4.2 - Interactive Input/Output
- 4.3 - Noninteractive Input/Output
- 4.4 - File Input and Output
- Software Maintenance Case Study: Adding File Input/Output to a Program
- 4.5 - Input Failure
- 4.6 - Software Design Methodologies
- 4.7 - Functional Decomposition
- Problem-Solving Case Study: Displaying a Name in Multiple Formats
- Testing and Debugging
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
-
5 -Conditions, Logical Expressions, and Selection Control Structures
- 5.1 - Flow of Control
- 5.2 - Conditions and Logical Expressions
- 5.3 - The If Statement
- Software Maintenance Case Study: Incorrect Output
- 5.4 - Nested if Statements
- 5.5 - Logical Operators
- 5.6 - Testing the State of an I/O Stream
- Problem-Solving Case Study: BMI Calculator
- Testing and Debugging
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
-
6 -Looping
- 6.1 - The While Statement
- 6.2 - Phases of Loop Execution
- 6.3 - Loops Using the While Statement
- Software Maintenance Case Study: Make a Program General
- 6.4 - How to Design Loops
- 6.5 - Nested Logic
- Problem-Solving Case Study: Recording Studio Design
- Testing and Debugging
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
-
7 -Additional Control Structures
- 7.1 - The Switch Statement
- 7.2 - The Do-While Statement
- 7.3 - The For Statement
- 7.4 - The Break and Continue Statements
- 7.5 - Guidelines for Choosing a Looping Statement
- 7.6 - Additional C++ Operators
- Problem-Solving Case Study: The Rich Uncle
- Testing and Debugging
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
-
8 -Functions
- 8.1 - Functional Decomposition with Void Functions
- 8.2 - An Overview of User-Defined Functions
- 8.3 - Syntax and Semantics of Void Functions
- 8.4 - Parameters
- Software Maintenance Case Study: Refactoring a Program
- Problem-Solving Case Study: Lawn Care Company Billing
- Testing and Debugging
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
-
9 -Scope, Lifetime, and More on Functions
- 9.1 - Scope of Identifiers
- 9.2 - Lifetime of a Variable
- Software Maintenance Case Study: Debug a Simple Program
- 9.3 - Interface Design
- 9.4 - Value-Returning Functions
- 9.5 - Type Coercion in Assignments, Argument Passing, and Return of a Function Value
- Problem-Solving Case Study: Health Profile
- Testing and Debugging
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
-
10 -User-Defined Data Types
- 10.1 - Built-In Simple Types
- 10.2 - User-Defined Simple Types
- 10.3 - Simple Versus Structured Data Types
- 10.4 - Records (Structs)
- Software Maintenance Case Study: Changing a Loop Implementation
- 10.5 - Hierarchical Records
- 10.6 - Unions
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
-
11 -Arrays
- 11.1 - One-Dimensional Arrays
- Software Maintenance Case Study: Modularizing a Program
- 11.2 - Arrays of Records
- 11.3 - Special Kinds of Array Processing
- 11.4 - Two-Dimensional Arrays
- 11.5 - Passing Two-Dimensional Arrays as Arguments
- 11.6 - Processing Two-Dimensional Arrays
- 11.7 - Another way of Defining Two-Dimensional Arrays
- 11.8 - Multidimensional Arrays
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
-
12 -Classes and Abstraction
- 12.1 - Abstract Data Types
- 12.2 - C++ Classes
- 12.3 - Information Hiding
- 12.4 - What is an Object?
- 12.5 - Class Design Principles
- Software Maintenance Case Study: Comparing Two TimeOfDay Objects
- 12.6 - The Name ADT
- 12.7 - Composition
- 12.8 - UML Diagrams
- Problem-Solving Case Study: Create an Array of Name Objects
- Testing and Debugging
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
-
13 -Array-Based Lists
- 13.1 - What is a List?
- 13.2 - The List as an Abstract Data Type
- 13.3 - Implementation of List ADT
- Software Maintenance Case Study: Enhancing Class List with a Sort
- 13.4 - Sorted Lists
- 13.5 - Sorted List of Classes
- 13.6 - More on UML Diagrams
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
-
14 -Pointers and Linked Lists
- 14.1 - Pointers
- 14.2 - Reference Types
- 14.3 - Dynamic Data
- 14.4 - Sequential Versus Linked Structures
- 14.5 - Creating a Dynamic Linked List: A Walk-Through Example
- 14.6 - Dynamic Implementation of ADT List
- 14.7 - Destructors and Copy Constructors
- 14.8 - Sorted Linked List
- Problem-Solving Case Study: Creating a Sorted List of Entry Objects
- Testing and Debugging
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
- 15 -Inheritance, Polymorphism, and Object-Oriented Design
-
16 -Templates, Operator Overloading, and Exceptions
- 16.1 - Template Classes
- 16.2 - Generic Functions
- 16.3 - Operator Overloading
- 16.4 - Exceptions
- Software Maintenance Case Study: Adding Exceptions to the Date Class
- Problem-Solving Case Study: Starship Weight and Balance
- Testing and Debugging
- Testing and Debugging Hints
- Summary
- Quick Check
- Answers
- Exam Preparation Exercises
- Programming Warm-Up Exercises
- Programming Problems
- Case Study Follow-Up
- 17 -Introduction to Data Structures Using the Standard Template Library
- 18 -Recursion
- Appendices
- Index
Product information
- Title: Programming and Problem Solving with C++, 5th Edition
- Author(s):
- Release date: May 2009
- Publisher(s): Jones & Bartlett Learning
- ISBN: 9780763778149
You might also like
book
Programming and Problem Solving with C++: Comprehensive, 6th Edition
The best-selling Programming and Problem Solving with C++, now in it's Sixth Edition, remains the clearest …
book
Programming and Problem Solving with C++: Brief, 6th Edition
Based off the best-selling Programming and Problem Solving with C++, which Dale is famous for, the …
book
Practical C++ Programming, 2nd Edition
C++ is a powerful, highly flexible, and adaptable programming language that allows software engineers to organize …
book
Professional C++, 4th Edition
Get up to date quickly on the new changes coming with C++17 Professional C++ is the …