О решении
Готов поспорить, что вы после прочтения задачи сразу же садитесь писать код, что является абсолютно не верным подходом, так как в голове еще нет сформированного решения и его приходится придумывать на ходу. Непродуманная структура программы ведет в множеству ошибок, а в случае отсутствия опыта, как у вас - вообще заводит в тупик.