Advertisement
ivanwidyan

Turns Numbers Into English Text 0 - 999999999

Oct 19th, 2016
117
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C++ 4.21 KB | None | 0 0
  1. #include <iostream>
  2. #include <string>
  3. using namespace std;
  4.  
  5. int userInput = 0;
  6. int hundredmillion, tenmillion, million,
  7.     hundredthousand, tenthousand, thousand,
  8.     hundred, dozen;
  9.  
  10. void NumberToText(int);
  11. string PrintNumber(), MillionGroups(), OneThousandGroups(), HundredGroups(int), TenGroups(int);
  12. string BasicNumbers(int), DozensNumbers(int);
  13.  
  14. int main() {
  15.     cout << "Enter a number between 0 - 999999999: ";
  16.     cin >> userInput;
  17.     if (userInput < 0 || userInput > 999999999) {
  18.         cout << "Please enter correct number!\n" << endl;
  19.         return 0;
  20.     }
  21.     NumberToText(userInput);
  22.     cout << PrintNumber() << endl << endl;
  23. }
  24.  
  25. string PrintNumber() {
  26.     string text = "";
  27.     text = MillionGroups() + OneThousandGroups() + HundredGroups(hundred) + TenGroups(dozen) + " " + BasicNumbers(userInput);
  28.     return text;
  29. }
  30.  
  31. string MillionGroups() {
  32.     string milliongroup = "";
  33.     if (hundredmillion != 0) milliongroup += HundredGroups(hundredmillion);
  34.     if (tenmillion != 0) milliongroup += TenGroups(tenmillion) + " ";
  35.     if (million != 0) milliongroup += BasicNumbers(million) + " ";
  36.     if (hundredmillion != 0 || tenmillion != 0 || million != 0)
  37.         return milliongroup + "Million ";
  38.     return "";
  39. }
  40.  
  41. string OneThousandGroups() {
  42.     string onethousandgroup = "";
  43.     if (hundredthousand != 0) onethousandgroup += HundredGroups(hundredthousand);
  44.     if (tenthousand != 0) onethousandgroup += TenGroups(tenthousand) + " ";
  45.     if (thousand != 0) onethousandgroup += BasicNumbers(thousand) + " ";
  46.     if (hundredthousand != 0 || tenthousand != 0 || thousand != 0)
  47.         return onethousandgroup + "Thousand ";
  48.     return "";
  49. }
  50.  
  51. string HundredGroups(int inputHundred) {
  52.     if (inputHundred != 0)
  53.         return BasicNumbers(inputHundred) + " Hundred ";
  54.     return "";
  55. }
  56.  
  57. string TenGroups(int inputTen) {
  58.     if (inputTen >= 1)
  59.         return DozensNumbers(inputTen);
  60.     return BasicNumbers(inputTen);
  61. }
  62.  
  63. void NumberToText(int inputNumber) {
  64.     if (inputNumber == 0) cout << "Zero" << endl;
  65.     if (BasicNumbers(inputNumber) != "") {
  66.         cout << BasicNumbers(inputNumber);
  67.         inputNumber = 0;
  68.     }
  69.     while (inputNumber >= 100000000) {inputNumber -= 100000000;
  70.         hundredmillion++;}
  71.     while (inputNumber >= 10000000) {inputNumber -= 10000000;
  72.         tenmillion++;}
  73.     while (inputNumber >= 1000000) {inputNumber -= 1000000;
  74.         million++;}
  75.     while (inputNumber >= 100000) {inputNumber -= 100000;
  76.         hundredthousand++;}
  77.     while (inputNumber >= 10000) {inputNumber -= 10000;
  78.         tenthousand++;}
  79.     while (inputNumber >= 1000) {inputNumber -= 1000;
  80.         thousand++;}
  81.     while (inputNumber >= 100) {inputNumber -= 100;
  82.         hundred++;}
  83.     while (inputNumber >= 10) {inputNumber -= 10;
  84.         dozen++;}
  85.     userInput = inputNumber;
  86. }
  87.  
  88. string BasicNumbers(int inputNumber) {
  89.     // In case yoΓΊ were asking why am I not using switch or array
  90.     // Because it hasn't taught yet, I only use basic functions
  91.     if (inputNumber == 1) { return "One"; }
  92.     else if (inputNumber == 2) { return "Two"; }
  93.     else if (inputNumber == 3) { return "Three"; }
  94.     else if (inputNumber == 4) { return "Four"; }
  95.     else if (inputNumber == 5) { return "Five"; }
  96.     else if (inputNumber == 6) { return "Six"; }
  97.     else if (inputNumber == 7) { return "Seven"; }
  98.     else if (inputNumber == 8) { return "Eight"; }
  99.     else if (inputNumber == 9) { return "Nine"; }
  100.     else if (inputNumber == 10) { return "Ten"; }
  101.     else if (inputNumber == 11) { return "Eleven"; }
  102.     else if (inputNumber == 12) { return "Twelve"; }
  103.     else if (inputNumber == 13) { return "Thirteen"; }
  104.     else if (inputNumber == 14) { return "Fourteen"; }
  105.     else if (inputNumber == 15) { return "Fifteen"; }
  106.     else if (inputNumber == 16) { return "Sixteen"; }
  107.     else if (inputNumber == 17) { return "Seventeen"; }
  108.     else if (inputNumber == 18) { return "Eighteen"; }
  109.     else if (inputNumber == 19) { return "Nineteen"; }
  110.     return "";
  111. }
  112.  
  113. string DozensNumbers(int inputNumber) {
  114.     //if (inputNumber == 1) { return "Ten"; }
  115.     if (inputNumber == 2) { return "Twenty"; }
  116.     else if (inputNumber == 3) { return "Thirty"; }
  117.     else if (inputNumber == 4) { return "Fourty"; }
  118.     else if (inputNumber == 5) { return "Fifty"; }
  119.     else if (inputNumber == 6) { return "Sixty"; }
  120.     else if (inputNumber == 7) { return "Seventy"; }
  121.     else if (inputNumber == 8) { return "Eightty"; }
  122.     else if (inputNumber == 9) { return "Ninety"; }
  123.     return "";
  124. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement