Problem Solving with C++ 10th Edition by Walter Savitch