연습문제 12-5, 12-6 코드 개선