Program to Convert Digit/Number to Words in C++
Converting Numbers to Words
Converting a number to words is a common problem in programming.
We will explore three different methods to achieve this in C++.
Method 1: Using Arrays
This method utilizes arrays to map digits to their word equivalents.
#include <iostream> using namespace std; void convertToWords(int num) { string single_digits[] = {"Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"}; cout << single_digits[num]; } int main() { int num; cout << "Enter a single-digit number: "; cin >> num; if (num >= 0 && num <= 9) convertToWords(num); else cout << "Invalid input!"; return 0; }
Output: Five
Method 2: Using String Manipulation
This method handles multi-digit numbers using a loop.
#include <iostream> #include <string> using namespace std; void convertToWords(int num) { string single_digits[] = {"Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"}; string str = to_string(num); for (char ch : str) { cout << single_digits[ch - '0'] << " "; } } int main() { int num; cout << "Enter a number: "; cin >> num; convertToWords(num); return 0; }
Output: One Two Three
Method 3: Using Recursion
This method recursively processes each digit.
#include <iostream> using namespace std; string single_digits[] = {"Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"}; void convertToWordsRecursive(int num) { if (num == 0) return; convertToWordsRecursive(num / 10); cout << single_digits[num % 10] << " "; } int main() { int num; cout << "Enter a number: "; cin >> num; if (num == 0) cout << "Zero"; else convertToWordsRecursive(num); return 0; }
Output: Five Zero Seven