Неважно сколько ты ошибок допускаешь. Важно, что ты их исправляешь.
==
Вы должны проверять и проверять как работает ваша программа.
Даже если уверены на 100% в коде (ведь может просто какая-то опечатка закрасться!)
Я и сам когда-то не удосуживался проверять как мой код работает.
В моих программах находили ошибки. Потом я стал проверять программы, но ошибки все равно находили.
И потом я стал проверять свои программы
и в хвост, и в гриву.
==
Уважаемый человек в мире программирования
М. Фаулер говорит:
любая не протестированная программа не работает
То есть проверять, проверять и ещё раз проверять.
Написал кусочек, проверил, написал ещё кусочек, проверил.
==
Теперь от слов к делу.
Погуглите «разработка через тестирование».
Труъ-программисты сначала пишут тесты, и только потом код.
Для этого посмотрите классы для тестирования для C++
ru.wikipedia.org/wiki/Юнит-тестирование