#include #include using namespace std; // illustrates loops, convert a number to a string of English digits // i.e., 1346 -> one three four six // Owen Astrachan, 6/8/95 string DigitToString(int num); string StringOut(long int number); int main() { long number; cout << "enter an integer: "; cin >> number; cout << StringOut(number) << endl; return 0; } string DigitToString(int num) // precondition: 0 <= num < 10 // postcondition: returns english equivalent, e.g., 1->one,...9->nine { if (0 == num) return "zero"; else if (1 == num) return "one"; else if (2 == num) return "two"; else if (3 == num) return "three"; else if (4 == num) return "four"; else if (5 == num) return "five"; else if (6 == num) return "six"; else if (7 == num) return "seven"; else if (8 == num) return "eight"; else if (9 == num) return "nine"; else return "?"; } string StringOut(long number) // precondition: 0 < number // postcondition: returns string formed from digits written in English // e.g., 123 -> "one two three" { string s = ""; int digit; while (number != 0) { digit = number % 10; s = DigitToString(digit) + " " + s; number /= 10; } return s; }