Problem Solving with C++: the Object of Progrraming - Walter Savitch (Addison-Wesley, 2005)