Problem solving with c++:the object of programming - Savitch, Walter (Pearson Education, 2003)