Problem solving with C++ - Savitch, Walter (Pearson Addison Wesley, 2009)