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

Overview

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

ISBN-13:
9780763771515
Publisher:
Jones & Bartlett Learning
Publication date:
02/27/2009
Edition description:
5E
Pages:
697
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 >

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