Introduction to Programming with C++ - Liang, Y. Daniel