دسترسی نامحدود
برای کاربرانی که ثبت نام کرده اند
برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید
در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید
برای کاربرانی که ثبت نام کرده اند
درصورت عدم همخوانی توضیحات با کتاب
از ساعت 7 صبح تا 10 شب
ویرایش: 10
نویسندگان: Walter Savitch. Kenrick Mock
سری:
ISBN (شابک) : 0134448286, 9780134448282
ناشر: Pearson
سال نشر: 2017
تعداد صفحات: 1112
زبان: English
فرمت فایل : PDF (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود)
حجم فایل: 14 مگابایت
در صورت تبدیل فایل کتاب Problem Solving with C++ به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.
توجه داشته باشید کتاب حل مسئله با C++ نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.
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 inPitfall: 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 Pitfall: Forgetting a Semicolon in a Structure Definition Structures as Function Arguments Programming Tip: Use Hierarchical Structures Initializing Structures 10.2 CLASSES Defining Classes and Member Functions Public and Private Members Programming Tip: Make All Member Variables Private Programming Tip: Define Accessor and Mutator Functions Programming Tip: Use the Assignment Operator with Objects Programming Example: BankAccount Class—Version 1 Summary of Some Properties of Classes Constructors for Initialization Programming Tip: Always Include a Default Constructor Pitfall: Constructors with No Arguments Member Initializers and Constructor Delegation in C++11 10.3 ABSTRACT DATA TYPES Classes to Produce Abstract Data Types Programming Example: Alternative Implementation of a Class 10.4 INTRODUCTION TO INHERITANCE Derived Classes Defining Derived Classes Chapter Summary Answers to Self-Test Exercises Practice Programs Programming Projects Chapter 11 Friends, Overloaded Operators, and Arrays in Classes 11.1 FRIEND FUNCTIONS Programming Example: An Equality Function Friend Functions Programming Tip: Define Both Accessor Functions and Friend Functions Programming Tip: Use Both Member and Nonmember Functions Programming Example: Money Class (Version 1) Implementation of digitToInt (Optional) Pitfall: Leading Zeros in Number Constants The const Parameter Modifier Pitfall: Inconsistent Use of const 11.2 OVERLOADING OPERATORS Overloading Operators Constructors for Automatic Type Conversion Overloading Unary Operators Overloading >> and << 11.3 ARRAYS AND CLASSES Arrays of Classes Arrays as Class Members Programming Example: A Class for a Partially Filled Array 11.4 CLASSES AND DYNAMIC ARRAYS Programming Example: A String Variable Class Destructors Pitfall: Pointers as Call-by-Value Parameters Copy Constructors Overloading the Assignment Operator Chapter Summary Answers to Self-Test Exercises Practice Programs Programming Projects Chapter 12 Separate Compilation and Namespaces 12.1 SEPARATE COMPILATION ADTs Reviewed Case Study: DigitalTime—A Class Compiled Separately Using #ifndef Programming Tip: Defining Other Libraries 12.2 NAMESPACES Namespaces and using Directives Creating a Namespace Qualifying Names A Subtle Point About Namespaces (Optional) Unnamed Namespaces Programming Tip: Choosing a Name for a Namespace Pitfall: Confusing the Global Namespace and the Unnamed Namespace Chapter Summary Answers to Self-Test Exercises Practice Programs Programming Projects Chapter 13 Pointers and Linked Lists 13.1 NODES AND LINKED LISTS Nodes nullptr Linked Lists Inserting a Node at the Head of a List Pitfall: Losing Nodes Searching a Linked List Pointers as Iterators Inserting and Removing Nodes Inside a List Pitfall: Using the Assignment Operator with Dynamic Data Structures Variations on Linked Lists Linked Lists of Classes 13.2 STACKS AND QUEUES Stacks Programming Examples: A Stack Class Queues Programming Examples: A Queue Class Chapter Summary Answers to Self-Test Exercises Practice Programs Programming Projects Chapter 14 Recursion 14.1 RECURSIVE FUNCTIONS FOR TASKS Case Study: Vertical Numbers A Closer Look at Recursion Pitfall: Infinite Recursion Stacks for Recursion Pitfall: Stack Overflow Recursion Versus Iteration 14.2 RECURSIVE FUNCTIONS FOR VALUES General Form for a Recursive Function That Returns a Value Programming Example: Another Powers Function 14.3 THINKING RECURSIVELY Recursive Design Techniques Case Study: Binary Search—An Example of Recursive Thinking Programming Example: A Recursive Member Function Chapter Summary Answers to Self-Test Exercises Practice Programs Programming Projects Chapter 15 Inheritance 15.1 INHERITANCE BASICS Derived Classes Constructors in Derived Classes Pitfall: Use of Private Member Variables from the Base Class Pitfall: Private Member Functions Are Effectively Not Inherited The protected Qualifier Redefinition of Member Functions Redefining Versus Overloading Access to a Redefined Base Function 15.2 INHERITANCE DETAILS Functions That Are Not Inherited Assignment Operators and Copy Constructors in Derived Classes Destructors in Derived Classes 15.3 POLYMORPHISM Late Binding Virtual Functions in C++ Virtual Functions and Extended Type Compatibility Pitfall: The Slicing Problem Pitfall: Not Using Virtual Member Functions Pitfall: Attempting to Compile Class Definitions Without Definitions for Every Virtual Member Function Programming Tip: Make Destructors Virtual Chapter Summary Answers to Self-Test Exercises Practice Programs Programming Projects Chapter 16 Exception Handling 16.1 EXCEPTION-HANDLING BASICS A Toy Example of Exception Handling Defining Your Own Exception Classes Multiple Throws and Catches Pitfall: Catch the More Specific Exception First Programming Tip: Exception Classes Can Be Trivial Throwing an Exception in a Function Exception Specification Pitfall: Exception Specification in Derived Classes 16.2 PROGRAMMING TECHNIQUES FOR EXCEPTION HANDLING When to Throw an Exception Pitfall: Uncaught Exceptions Pitfall: Nested try-catch Blocks Pitfall: Overuse of Exceptions Exception Class Hierarchies Testing for Available Memory Rethrowing an Exception Chapter Summary Answers to Self-Test Exercises Practice Programs Programming Projects Chapter 17 Templates 17.1 TEMPLATES FOR ALGORITHM ABSTRACTION Templates for Functions Pitfall: Compiler Complications Programming Example: A Generic Sorting Function Programming Tip: How to Define Templates Pitfall: Using a Template with an Inappropriate Type 17.2 TEMPLATES FOR DATA ABSTRACTION Syntax for Class Templates Programming Example: An Array Class Chapter Summary Answers to Self-Test Exercises Practice Programs Programming Projects Chapter 18 Standard Template Library and C++11 18.1 ITERATORS using Declarations Iterator Basics Programming Tip: Use auto to Simplify Variable Declarations Pitfall: Compiler Problems Kinds of Iterators Constant and Mutable Iterators Reverse Iterators Other Kinds of Iterators 18.2 CONTAINERS Sequential Containers Pitfall: Iterators and Removing Elements Programming Tip: Type Definitions in Containers Container Adapters stack and queue Associative Containers set and map Programming Tip: Use Initialization, Ranged for, and auto with Containers Efficiency 18.3 GENERIC ALGORITHMS Running Times and Big-O Notation Container Access Running Times Nonmodifying Sequence Algorithms Container Modifying Algorithms Set Algorithms Sorting Algorithms 18.4 C++ IS EVOLVING std::array Regular Expressions Threads Smart Pointers Chapter Summary Answers to Self-Test Exercises Practice Programs Programming Projects APPENDICES 1 C++ Keywords 2 Precedence of Operators 3 The ASCII Character Set 4 Some Library Functions 5 Inline Functions 6 Overloading the Array Index Square Brackets 7 The this Pointer 8 Overloading Operators as Member Operators CREDITS INDEX A B C D E F G H I L M N O P Q R S T U V W Z