added ch12n5.cpp(don't work) and ch12n8.cpp(a half of task)