Understanding programming and problem solving with c++ - Lambert, Kenneth A (West Publishing, 1996)