Programming And Problem Solving With C++ / Edition 5

Programming And Problem Solving With C++ / Edition 5

4.1 6
by Nell Dale, Chip Weems
     
 

View All Available Formats & Editions

ISBN-10: 0763771562

ISBN-13: 9780763771560

Pub. Date: 05/14/2009

Publisher: Jones & Bartlett Learning

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

Overview

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.

Product Details

ISBN-13:
9780763771560
Publisher:
Jones & Bartlett Learning
Publication date:
05/14/2009
Edition description:
5E
Pages:
1020
Product dimensions:
7.70(w) x 9.00(h) x 1.70(d)

Table of Contents

<

Customer Reviews

Average Review:

Write a Review

and post it to your social network

     

Most Helpful Customer Reviews

See all customer reviews >

Programming and Problem Solving with C++ 0 out of 5 based on 0 ratings. 0 reviews.
Prefacev
1Overview of Programming and Problem Solving1
1.1Overview of Programming2
1.2What Is a Programming Language?9
1.3What Is a Computer?15
1.4Ethics and Responsibilities in the Computing Profession24
1.5Problem-Solving Techniques27
Problem-Solving Case Study: An Algorithm for an Employee Paycheck33
Summary37
Quick Check38
Answers39
Exam Preparation Exercises39
Programming Warm-Up Exercises41
Case Study Follow-Up41
2C++ Syntax and Semantics, and the Program Development Process43
2.1The Elements of C++ Programs44
2.2Program Construction67
2.3More About Output74
2.4Program Entry, Correction, and Execution76
Problem-Solving Case Study: Contest Letter79
Testing and Debugging83
Summary84
Quick Check85
Answers87
Exam Preparation Exercises88
Programming Warm-Up Exercises90
Programming Problems92
Case Study Follow-Up94
3Numeric Types, Expressions, and Output95
3.1Overview of C++ Data Types96
3.2Numeric Data Types97
3.3Declarations for Numeric Types99
3.4Simple Arithmetic Expressions101
3.5Compound Arithmetic Expressions105
3.6Function Calls and Library Functions111
3.7Formatting the Output115
3.8Additional string Operations122
Problem-Solving Case Study: Painting Traffic Cones128
Testing and Debugging132
Summary133
Quick Check133
Answers135
Exam Preparation Exercises136
Programming Warm-Up Exercises140
Programming Problems143
Case Study Follow-Up145
4Program Input and the Software Design Process147
4.1Getting Data into Programs148
4.2Interactive Input/Output158
4.3Noninteractive Input/Output160
4.4File Input and Output161
4.5Input Failure168
4.6Software Design Methodologies170
4.7What Are Objects?171
4.8Object-Oriented Design173
4.9Functional Decomposition174
Problem-Solving Case Study: Stretching a Canvas183
Testing and Debugging189
Summary191
Quick Check192
Answers193
Exam Preparation Exercises193
Programming Warm-Up Exercises196
Programming Problems198
Case Study Follow-Up199
5Conditions, Logical Expressions, and Selection Control Structures201
5.1Flow of Control202
5.2Conditions and Logical Expressions204
5.3The If Statement217
5.4Nested If Statements224
5.5Testing the State of an I/O Stream229
Problem-Solving Case Study: Warning Notices231
Testing and Debugging236
Summary249
Quick Check249
Answers250
Exam Preparation Exercises250
Programming Warm-Up Exercises254
Programming Problems256
Case Study Follow-Up259
6Looping261
6.1The While Statement262
6.2Phases of Loop Execution264
6.3Loops Using the While Statement265
6.4How to Design Loops276
6.5Nested Logic280
Problem-Solving Case Study: Average Income by Gender291
Testing and Debugging297
Summary300
Quick Check301
Answers301
Exam Preparation Exercises302
Programming Warm-Up Exercises305
Programming Problems305
Case Study Follow-Up308
7Functions309
7.1Functional Decomposition with Void Functions310
7.2An Overview of User-Defined Functions316
7.3Syntax and Semantics of Void Functions319
7.4Parameters326
7.5Designing Functions335
Problem-Solving Case Study: Comparison of Furniture-Store Sales343
Testing and Debugging352
Summary355
Quick Check356
Answers357
Exam Preparation Exercises357
Programming Warm-Up Exercises363
Programming Problems365
Case Study Follow-Up369
8Scope, Lifetime, and More on Functions371
8.1Scope of Identifiers372
8.2Lifetime of a Variable382
8.3Interface Design384
8.4Value-Returning Functions389
Problem-Solving Case Study: Reformat Dates401
Problem-Solving Case Study: Starship Weight and Balance412
Testing and Debugging423
Summary426
Quick Check427
Answers428
Exam Preparation Exercises428
Programming Warm-Up Exercises432
Programming Problems433
Case Study Follow-Up435
9Additional Control Structures437
9.1The Switch Statement438
9.2The Do-While Statement443
9.3The For Statement446
9.4The Break and Continue Statements450
9.5Guidelines for Choosing a Looping Statement453
Problem-Solving Case Study: Monthly Rainfall Averages454
Testing and Debugging459
Summary460
Quick Check461
Answers461
Exam Preparation Exercises462
Programming Warm-Up Exercises463
Programming Problems465
Case Study Follow-Up467
10Simple Data Types: Built-In and User-Defined469
10.1Built-In Simple Types470
10.2Additional C++ Operators476
10.3Working with Character Data484
10.4More on Floating-Point Numbers495
10.5User-Defined Simple Types505
10.6More on Type Coercion515
Problem-Solving Case Study: Finding the Area Under a Curve519
Problem-Solving Case Study: Rock, Paper, Scissors527
Testing and Debugging536
Summary539
Quick Check539
Answers540
Exam Preparation Exercises540
Programming Warm-Up Exercises543
Programming Problems544
Case Study Follow-Up545
11Structured Types, Data Abstraction, and Classes547
11.1Simple Versus Structured Data Types548
11.2Records (C++ Structs)549
11.3Unions557
11.4Data Abstraction559
11.5Abstract Data Types561
11.6C++ Classes564
11.7Specification and Implementation Files573
11.8Guaranteed Initialization with Class Constructors582
Problem-Solving Case Study: Manipulating Dates590
Problem-Solving Case Study: Birthday Calls602
Testing and Debugging610
Summary615
Quick Check615
Answers617
Exam Preparation Exercises619
Programming Warm-Up Exercises622
Programming Problems624
Case Study Follow-Up628
12Arrays631
12.1One-Dimensional Arrays632
12.2Arrays of Records and Class Objects649
12.3Special Kinds of Array Processing652
12.4Two-Dimensional Arrays653
12.5Processing Two-Dimensional Arrays656
12.6Passing Two-Dimensional Arrays as Arguments662
12.7Another Way of Defining Two-Dimensional Arrays664
12.8Multidimensional Arrays666
Problem-Solving Case Study: Comparison of Two Lists669
Problem-Solving Case Study: City Council Election675
Testing and Debugging685
Summary689
Quick Check689
Answers691
Exam Preparation Exercises692
Programming Warm-Up Exercises698
Programming Problems701
Case Study Follow-Up705
13Array-Based Lists707
13.1The List as an Abstract Data Type708
13.2Unsorted Lists713
13.3Sorted Lists724
13.4Understanding Character Strings739
Problem-Solving Case Study: Exam Attendance748
Testing and Debugging755
Summary757
Quick Check757
Answers758
Exam Preparation Exercises758
Programming Warm-Up Exercises761
Programming Problems762
Case Study Follow-Up763
14Object-Oriented Software Development765
14.1Object-Oriented Programming766
14.2Objects768
14.3Inheritance769
14.4Composition781
14.5Dynamic Binding and Virtual Functions785
14.6Object-Oriented Design790
14.7Implementing the Design793
Problem-Solving Case Study: Time Card Lookup794
Testing and Debugging814
Summary816
Quick Check816
Answers818
Exam Preparation Exercises819
Programming Warm-Up Exercises822
Programming Problems823
Case Study Follow-Up824
15Pointers, Dynamic Data, and Reference Types825
15.1Pointers826
15.2Dynamic Data836
15.3Reference Types842
15.4Classes and Dynamic Data846
Problem-Solving Case Study: Personnel Records857
Problem-Solving Case Study: Dynamic Arrays872
Testing and Debugging882
Summary885
Quick Check886
Answers887
Exam Preparation Exercises888
Programming Warm-Up Exercises892
Programming Problems893
Case Study Follow-Up894
16Linked Structures897
16.1Sequential Versus Linked Structures898
16.2Array Representation of a Linked List900
16.3Dynamic Data Representation of a Linked List902
16.4Choice of Data Representation929
Problem-Solving Case Study: Simulated Playing Cards930
Problem-Solving Case Study: Solitaire Simulation938
Testing and Debugging956
Summary956
Quick Check957
Answers957
Exam Preparation Exercises957
Programming Warm-Up Exercises960
Programming Problems961
Case Study Follow-Up962
17Templates and Exceptions963
17.1Template Functions964
17.2Template Classes974
17.3Exceptions982
Problem-Solving Case Study: The SortedList Class Revisited996
Testing and Debugging1007
Summary1008
Quick Check1009
Answers1010
Exam Preparation Exercises1011
Programming Warm-Up Exercises1012
Programming Problems1014
Case Study Follow-Up1014
18Recursion1017
18.1What Is Recursion?1018
18.2Recursive Algorithms with Simple Variables1022
18.3Towers of Hanoi1025
18.4Recursive Algorithms with Structured Variables1030
18.5Recursion Using Pointer Variables