# Computing Concepts with C++ Essentials

## Bug Report Page

### First Edition

#### Book errata

* = corrected in the second printing

*Page 23
Change "See Advanced Topic 2.2 in Chapter 2" to "See Advanced Topic 2.6 in Chapter 2"
*Page 78 Exercise R2.2
Change dm = m * ((sqrt . . . to dm = m * (sqrt . . .
*Page 79 Exercise R2.7
Add a semicolon to the end of the line << average << "\n"
*Page 93
Change the last line from 2000 2 12 to 2000 1 12.
*Page 102
The caption for Figure 7 reads "Output from point.cpp". It should read "Output from circle.cpp"
*Page 115 intsect2.cpp
*Page 121 Exercise R3.14
Change "the value of c.get_center and c.get_radius" to "the value of c.get_center() and c.get_radius()"
*Page 142 coins6.cpp
Change value = value * 0.25; to value = n * 0.25;
*Page 144 2nd line from bottom
Change "the first four" to "the last three"
*Page 157 second table last row
Change false false true to false false false
*Page 169 4th Formula
Add a / between r and the root of q3.
*Page 192/193
Change float balance = future_value(r) to float balance = future_value(10000, r, 10) (2 times)
*Page 193
The green ] should be displayed more clearly (like in CCJ)
Page 209 line 1
Change c / 10 to c % 10
*Page 219 Exercise R5.9
Change
`for (i = 0; i < c; i++)`
to
`i = 10;if (i < c)`
( for loops aren't introduced yet.)
*Page 219 Exercise R5.9
Change
`for (i = n; i > c; i--){  int b = a;   int a = i;   n = a + b;}`
to
`i = n - 1;if (c > 0){  int b = g(c - 1);   int a = i;   n = a + b;}return n;`
*Page 222 Exercise P5.2
Change "and leaves a and b unchanged" to "and leaves a and b unchanged otherwise".
*Page 223 Exercise P5.8
Change "the triangle t" to "the circle c".
*Page 224 2nd line from bottom
Change d to jd
*Page 225
Change long jb = ja + 1524; to long jb = jul + 1524;.
*Page 241, 291
The sqroot.cpp program fails if a == 0
*Page 248
Change "in the average.cpp program in Section 6.1.3" to "in the maxsal.cpp program in Section 6.1.3"
*Page 261
Change yhigh = ylow + cos(alpha) to yhigh = ylow + sin(alpha)
*Page 262, buffon.cpp
Change float yhigh = ylow + cos(deg2rad(angle)) to float yhigh = ylow + sin(deg2rad(angle)). Change the range of the angle to double angle = rand_double(0, 180);. Change if (yhigh >= 2) hit++; to if (yhigh >= 2) hits++;
*Page 277
Change "Exercise 6.2" to "Exercise R6.2" and "Exercise 6.3" to "Exercise R6.3"
*Page 277 Exercise R6.5
Change s = 1 / (1 + 1.0/(n * n)); to s = 1.0 / (n * n);
*Page 279 Exercise R6.12
Change the first two occurrences of cout << s to cout << s << " ".
*Page 279 Exercise R6.13
There should be a blank line between cout << n; and int i;
*Page 339
Change void Employee::set_salary(float salary) const to void Employee::set_salary(float new_salary) const
*Page 422 Exercise P9.25
Change "...you must move to the square to the right and up instead." to "...you must move to the square above instead."
*Page 456
Change "ccc_graf.h for graphics" to "ccc_shap.h for graphical shapes". Change "ccc_misc.h" to "ccc_util.h".
Page 493 bsearch.cpp
Change else if (diff < 0) /* v[mid] > a */ to else if (diff < 0) /* v[mid] < a */. (That is, change the comment to <.)
*Page 497 fibtime.cpp
else return f(n - 1) + f(n - 2); should be else return fib(n - 1) + fib(n - 2);
Page 511
Change the last line of the table from "4 Reindeer, Rudolf 2" to "4 Reindeer, Rudolf 1"
Page 517
Change "cwin << *bubble; /* NO!!! next points to a deleted element */" to "cwin << *bubble; /* NO!!! bubble points to a deleted element */"
*Page 533
Change "To fully understand the issue of 'big three' memory management, you need to know quite a bit more C++ that you can learn in a beginning programming course" to "To fully understand the issue of 'big three' memory management, you need to know quite a bit more C++ than you can learn in a beginning programming course"
*Page 565 clocks2.cpp
The code in the book will give for 12:30 PM the time 0:30 PM. Change the code to:
`if (hours < 12){  if (hours == 0) hours += 12;   suffix = " am";}else{  if (hours > 12) hours -= 12;   suffix = " pm";}`
*Index
Missing terms:
• #include
• get position
• put position

#### CCC Code bugs

These bugs are fixed in the current code release .

ccc_strg/g++
Included DOS file conio.h, referred to ::toupper
ccc_win, ccc_x11
mouse coordinate system was wrong if upper left corner != (0, 0)