Я храню каждый программный модуль в отдельной папке. и хедер лежит рядом с реализацией. В свойствах проекта задаются пути ко всем папкам. Это дает возможжность перносить модули, и при этом не править вдруг пути для инклудов, если один модуль зависит от другого.
В самом простом случае с целыми числами подойдёт приведение к строке и получение её длины.
Для отрицательных и натуральных чисел также можно найти подобное решение