Программа не работает, по тому, что в цикле после условия "if p=13", в блоке else у вас идет "зацикливание". По goto вы прыгаете опять обратно в начало итерации цикла.
Очевидно, что успешность выполнения завершения цикла зависит от значения P, так как в любом случаи, если P != 13, вы возращаетесь в начало цикла.
Маленькое лирическое отступление:
Отформатированный код будет приведен в коментариях, если кому-то не ясно.
Ваш код сложно назвать "спагетти кодом", т.к. у вас все довольно очевидно, с тем лишь отличием, что вы используете дериктиву goto, от неё откажитесь в вашей практике, сложнее понять как будет функционировать ваша программа, хотя вашем коллегам по старше будет это очевидно, при наличии опыта.
P.S.
Создайте новый вопрос с описанием задачи и скиньте мне сообщением ссылку.
Спасибо за отметку "Лучший ответ" и нажатую кнопочку "спасибо" тут и в моем профиле.