9780134444291

Engineering Problem Solving With C++

by ;
  • ISBN13:

    9780134444291

  • ISBN10:

    0134444299

  • Edition: 4th
  • Format: Paperback
  • Copyright: 3/8/2016
  • Publisher: Pearson

Note: Supplemental materials are not guaranteed with Rental or Used book purchases.

Purchase Benefits

  • Free Shipping On Orders Over $59!
    Your order must be $59 or more to qualify for free economy shipping. Bulk sales, PO's, Marketplace items, eBooks and apparel do not qualify for this offer.
  • Get Rewarded for Ordering Your Textbooks! Enroll Now
  • We Buy This Book Back!
    In-Store Credit: $53.76
    Check/Direct Deposit: $51.20
List Price: $164.40 Save up to $98.64
  • Rent Book $65.76
    Add to Cart Free Shipping

    TERM
    PRICE
    DUE

Supplemental Materials

What is included with this book?

  • The New copy of this book will include any supplemental materials advertised. Please check the title of the book to determine if it should include any access cards, study guides, lab manuals, CDs, etc.
  • The Rental copy of this book is not guaranteed to include any supplemental materials. Typically, only the book itself is included. This is true even if the title states it includes any access cards, study guides, lab manuals, CDs, etc.

Summary

For one/two semester courses in Engineering and Computer Science at the freshman/sophomore level.

 

Engineering Problem Solving With C++, Fourth Edition provides a clear, concise introduction to engineering problem solving with C++ as well as the object-oriented features of the C++ programming language. The authors’ proven five-step problem solving methodology is presented and then incorporated in every chapter of the text. The chapters in this text are designed to give the instructor flexibility in the ordering of topics with chapter topics covering the essentials of mathematical computations, character data, control structures, functions, arrays, classes, and pointers. Outstanding engineering and scientific applications are used throughout; all applications are centered around the theme of engineering challenges in the 21st century with an emphasis on incorporating real-world engineering and scientific examples and problems.

Table of Contents

Introduction to Computing and Engineering

1 Problem Solving

 1.1 Historical Perspective

 1.2 Recent Engineering Achievements

Changing Engineering Environment

 1.3 Computing Systems

Computer Hardware

Computer Software

 1.4 Data Representation and Storage

Number Systems

Data Types and Storage

 1.5 An Engineering Problem-Solving Methodology

Summary

 

2 Simple C++ Programs

ENGINEERING CHALLENGE: Vehicle Performance

 2.1 Program Structure

 2.2 Constants and Variables

Scientific Notation

Numeric Data Types

Boolean Data Type

Character Data Type

String Data

Symbolic Constants

Auto Type Specifier

 2.3 C++ Classes

Class Declaration

Class Implementation

 2.4 Building C++ Solutions with IDEs: Xcode

Xcode

 2.5 C++ Operators

Assignment Operator

Arithmetic Operators

Precedence of Operators

Overflow and Underflow

Increment and Decrement Operators

Abbreviated Assignment Operators

2.6  Standard Input and Output

The cout  Object

Stream Objects

Manipulators

The cin  Object

2.7  Building C++ Solutions with IDEs: NetBeans

NetBeans

2.8  Basic Functions Included in the C++ Standard Library

Elementary Math Functions

Trigonometric Functions

Hyperbolic Functions*

Character Functions

2.9  Problem Solving Applied: Velocity Computation

2.10  System Limitations

Summary

 

3 Control Structures: Selection

ENGINEERING CHALLENGE: Global Change

 3.1 Algorithm Development

Top-Down Design

 3.2 Structured Programming

Pseudocode

Evaluation of Alternative Solutions

 3.3 Conditional Expressions

Relational Operators

Logical Operators

Precedence and Associativity

 3.4 Selection Statements: if Statement

Simple if Statements

if/else Statement

 3.5 Numerical Technique: Linear Interpolation

 3.6 Problem Solving Applied: Freezing Temperature of Seawater

 3.7 Selection Statements: switch Statement

 3.8 Building C++ Solutions with IDEs: NetBeans

NetBeans

 3.9 Defining Operators for Programmer-Defined Data Types

Summary

 

4 Control Structures: Repetition

ENGINEERING CHALLENGE: Data Collection

 4.1 Algorithm Development

Pseudocode and Flowchart Description

 4.2 Repetition Structures 156

while Loop

do/while Loop

for Loop

 4.3 Problem Solving Applied: GPS

 4.4 break and continue Statements

 4.5 Structuring Input Loops

Counter-Controlled Loops

Sentinel-Controlled Loop

End-Of-Data Loop

 4.6 Problem Solving Applied: Weather Balloons

 4.7 Building C++ Solutions with IDEs: Microsoft Visual C++

Microsoft Visual C++

Summary

 

5 Working with Data Files

ENGINEERING CHALLENGE: Weather Prediction

 5.1 Defining File Streams

Stream Class Hierarchy

ifstream Class

ofstream Class

 5.2 Reading Data Files

Specified Number of Records

Trailer or Sentinel Signals

End-of-File

 5.3 Generating a Data File

 5.4 Problem Solving Applied: Data Filters–Modifying an HTML File

 5.5 Error Checking

The Stream State

 5.6 Numerical Technique: Linear Modeling

 5.7 Problem Solving Applied: Ozone Measurements

 5.8 Building C++ Solutions with IDEs: Xcode-Weather Patterns

Summary

 

6 Modular Programming with Functions

ENGINEERING CHALLENGE: Simulation

 6.1 Modularity

 6.2 Programmer-Defined Functions

Function Definition

Solution 1

Solution 2

Function Prototype

 6.3 Parameter Passing

Pass by Value

Pass by Reference

Storage Class and Scope

 6.4 Problem Solving Applied: Calculating a Center of Gravity

 6.5 Random Numbers

Integer Sequences

Floating-Point Sequences

 6.6 Problem Solving Applied: Instrumentation Reliability

 6.7 Defining Class Methods

Public Interface

Accessor Methods

Mutator Methods

 6.8 Problem Solving Applied: Design of Composite Materials

Solution 1:

Solution 2:

 6.9 Numerical Technique: Roots of Polynomials

Polynomial Roots

Incremental-Search Technique

 6.10 Problem Solving Applied: System Stability

Newton—Raphson Method

 6.11 Numerical Technique: Integration

Integration Using the Trapezoidal Rule

Summary

 

7 One-Dimensional Arrays

ENGINEERING CHALLENGE: Tsunami Warning Systems

 7.1 Arrays

Definition and Initialization

Pseudocode

Range-based for Statement

Computation and Output

Function Arguments                                           

7.2 Problem Solving Applied: Hurricane Categories 357

 7.3 Statistical Measurements

Simple Analysis

Variance and Standard Deviation

Custom Header Files

 7.4 Problem Solving Applied: Speech Signal Analysis

7.5 Sorting and Searching Algorithms

Selection Sort

Search Algorithms

Unordered Lists

Ordered Lists

 7.6 Problem Solving Applied: Tsunami Warning Systems

 7.7 Character Strings

C Style String Definition and I/O

String Functions

 7.8 The string Class

 7.9 Building C++ Solutions with IDEs: Xcode Vegetation Maps

 7.10 The vector class

Parameter Passing

 7.11 Problem Solving Applied: Calculating Probabilities

Summary

 

8 Two-Dimensional Arrays

ENGINEERING CHALLENGE: Terrain Navigation

 8.1 Two-Dimensional Arrays

Declaration and Initialization

Computations and Output

Function Arguments

 8.2 Problem Solving Applied: Terrain Navigation

 8.3 Two-Dimensional Arrays and the vector class

Function Arguments

 8.4 Matrices

Determinant

Transpose

Matrix Addition and Subtraction

Matrix Multiplication

 8.5 Numerical Technique: Solution to Simultaneous Equations

Graphical Interpretation

Gauss Elimination

 8.6 Problem Solving Applied: Electrical Circuit Analysis

 8.7 Higher-Dimensional Arrays

Summary

 

9 An Introduction to Pointers

ENGINEERING CHALLENGE: Weather Patterns

 9.1 Addresses and Pointers

Address Operator

Pointer Assignment

Pointer Arithmetic

 9.2 Pointers to Array Elements

One-Dimensional Arrays

Character Strings

Pointers as Function Arguments

 9.3 Problem Solving Applied: El Niño-Southern Oscillation Data

 9.4 Dynamic Memory Allocation

The new Operator

Dynamically Allocated Arrays

The delete Operator

 9.5 Problem Solving Applied: Seismic Event Detection

 9.6 Common Errors Using new and delete

 9.7 Linked Data Structures

Linked Lists

Stacks

Queue 518

 9.8 The C++ Standard Template Library

The list class

The stack class

The queue class

 9.9 Problem Solving Applied: Concordance of a Text File 525

Summary

 

10 Advanced Topics

ENGINEERING CHALLENGE: Artificial Intelligence

 10.1 Data Abstraction

Overloading Operators

The Pixel class

\Arithmetic Operators

friend Functions

Validating Objects

Bitwise Operators

 10.2 Building C++ Solutions with IDEs: Xcode Image Files

 10.3 Binary File Input and Output

Opening Binary Files

Reading and Writing Binary Files

Contents

10.4 Problem Solving Applied: Color Image Processing

10.5 Recursion

Factorial Function

Fibonacci Sequence

The BinaryTree class

10.6 Generic Programming

Function Templates

Class Templates

10.7 Inheritance

The Rectangle class

The Square Class

The Cube class

10.8 virtual Methods

10.9 Problem Solving Applied: Iterated Prisoner’s Dilemma

Summary

 

C++ Standard Library

B ASCII Character Codes

C Using MATLAB to Plot Data from ASCII Files

C++ Program to Generate a Data File

ASCII Data File Generated by the C++ Program 649

Generating a Plot with MATLAB

D References

E PRACTICE! Solutions

Index

 

 

Rewards Program

Write a Review