Конечно, я помогу вам найти ошибку. Судя по описанию изображения, проблема заключается в функции digitsToWords, которая не корректно конвертирует цифры обратно в буквы. Возможно, логика этой конверсии неполная или некорректная. Строка currentDigit должна использоваться для поиска соответствующего символа в словаре, но вместо этого она добавляется к символам из входной строки.
Вот исправленный вариант функции digitsToWords:
std::string digitsToWords(std::string digits) {
std::string result = "";
for (char& digit : digits) {
if (digitToChar.find(digit - '0') != digitToChar.end()) {
result += digitToChar[digit - '0'];
} else {
// Обработка ошибки, если цифра не найдена
std::cerr << "Ошибка: Неверная цифра " << digit << std::endl;
return "";
}
}
return result;
}
Убедитесь, что в вашем словаре digitToChar есть все необходимые соответствия между цифрами и буквами. Если проблема сохранится, пожалуйста, предоставьте больше информации о вашем коде или полный код, чтобы я мог дать более точные рекомендации.