ну а какая именно ошибка-то? когда она возникает: при линковке? что выдает линкер?

вот Вы получили значение, записанное в переменной value. Что Вам мешает разбить его на цифры и к каждой цифре прибавлять 46, присваивая получившееся число символьной переменной?