Programming And Problem Solving With C++: Brief Edition / Edition 5

Programming And Problem Solving With C++: Brief Edition / Edition 5

by Nell Dale, Chip Weems

View All Available Formats & Editions

ISBN-10: 0763771511

ISBN-13: 9780763771515

Pub. Date: 02/27/2009

Publisher: Jones & Bartlett Learning

Based off the highly successful Programming and Problem Solving with C++ which Dale is famous for, comes the new Brief Edition, perfect for the one-term course. The text was motivated by the need for a text that covered only what instructors and students are able to move through in a single semester without sacrificing the breadth and detail necessary for the


Based off the highly successful Programming and Problem Solving with C++ which Dale is famous for, comes the new Brief Edition, perfect for the one-term course. The text was motivated by the need for a text that covered only what instructors and students are able to move through in a single semester without sacrificing the breadth and detail necessary for the introductory programmer. The authors excite and engage students in the learning process with their accessible writing style, rich pedagogy, and relevant examples.

This Brief Edition introduces the new Software Maintenance Case Studies element that teaches students how to read code in order to debug, alter, or enhance existing class or code segments.

Product Details

Jones & Bartlett Learning
Publication date:
Edition description:
Product dimensions:
7.70(w) x 9.10(h) x 1.50(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 >

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
Quick Check38
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
Quick Check85
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
Quick Check133
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
Quick Check192
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
Quick Check249
Exam Preparation Exercises250
Programming Warm-Up Exercises254
Programming Problems256
Case Study Follow-Up259
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
Quick Check301
Exam Preparation Exercises302
Programming Warm-Up Exercises305
Programming Problems305
Case Study Follow-Up308
7.1Functional Decomposition with Void Functions310
7.2An Overview of User-Defined Functions316
7.3Syntax and Semantics of Void Functions319
7.5Designing Functions335
Problem-Solving Case Study: Comparison of Furniture-Store Sales343
Testing and Debugging352
Quick Check356
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
Quick Check427
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
Quick Check461
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
Quick Check539
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.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
Quick Check615
Exam Preparation Exercises619
Programming Warm-Up Exercises622
Programming Problems624
Case Study Follow-Up628
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
Quick Check689
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
Quick Check757
Exam Preparation Exercises758
Programming Warm-Up Exercises761
Programming Problems762
Case Study Follow-Up763
14Object-Oriented Software Development765
14.1Object-Oriented Programming766
14.5Dynamic Binding and Virtual Functions785
14.6Object-Oriented Design790
14.7Implementing the Design793
Problem-Solving Case Study: Time Card Lookup794
Testing and Debugging814
Quick Check816
Exam Preparation Exercises819
Programming Warm-Up Exercises822
Programming Problems823
Case Study Follow-Up824
15Pointers, Dynamic Data, and Reference Types825
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
Quick Check886
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
Quick Check957
Exam Preparation Exercises957
Programming Warm-Up Exercises960
Programming Problems961
Case Study Follow-Up962
17Templates and Exceptions963
17.1Template Functions964
17.2Template Classes974
Problem-Solving Case Study: The SortedList Class Revisited996
Testing and Debugging1007
Quick Check1009
Exam Preparation Exercises1011
Programming Warm-Up Exercises1012
Programming Problems1014
Case Study Follow-Up1014
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