217k views
4 votes
1. Write a program in C++ that can convert a given integer value

into words. Assume the largest integer value to be 999 billion
For an input of say 1108 your out should be ONE THOUSAND
ONE HUNDRED AND EIGHT​

1 Answer

3 votes

Answer:

Hope this works

#include <iostream>

#include <string>

#include <vector>

using namespace std;

string digitName(int digit);

string teenName(int number);

string tensName(int number);

string intName(int number);

vector<string> ones {"","one", "two", "three", "four", "five", "six", "seven", "eight", "nine"};

vector<string> teens {"ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen","sixteen", "seventeen", "eighteen", "nineteen"};

vector<string> tens {"", "", "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety"};

string nameForNumber (long number) {

if (number < 10) {

return ones[number];

} else if (number < 20) {

return teens [number - 10];

} else if (number < 100) {

return tens[number / 10] + ((number % 10 != 0) ? " " + nameForNumber(number % 10) : "");

} else if (number < 1000) {

return nameForNumber(number / 100) + " hundred" + ((number % 100 != 0) ? " " + nameForNumber(number % 100) : "");

} else if (number < 1000000) {

return nameForNumber(number / 1000) + " thousand" + ((number % 1000 != 0) ? " " + nameForNumber(number % 1000) : "");

} else if (number < 1000000000) {

return nameForNumber(number / 1000000) + " million" + ((number % 1000000 != 0) ? " " + nameForNumber(number % 1000000) : "");

} else if (number < 999000000001) {

return nameForNumber(number / 1000000000) + " billion" + ((number % 1000000000 != 0) ? " " + nameForNumber(number % 1000000000) : "");

}

return "error";

}

int main()

{

long input;

do

{

cout << "Please enter a positive integer: ";

cin >> input;

cout << "\\" << nameForNumber(input) << endl;

cout << "\\\\" << endl;

}while (input > 0);

return 0;

}

User Sourabh Kasliwal
by
7.6k points

Related questions

1 answer
2 votes
119k views
1 answer
1 vote
168k views
asked Mar 19, 2017 148k views
Jim Nelson asked Mar 19, 2017
by Jim Nelson
8.3k points
1 answer
5 votes
148k views
Welcome to QAmmunity.org, where you can ask questions and receive answers from other members of our community.