Advertisement
nmnikolov

11. NumberAsWords

Jul 5th, 2014
326
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.54 KB | None | 0 0
  1. using System;
  2.  
  3. //Write a program that converts a number in the range [0…999] to words, corresponding to the English pronunciation. Examples:
  4. // | numbers | number as words               |
  5. // |       0 | Zero                          |
  6. // |       9 | Nine                          |
  7. // |      10 | Ten                           |
  8. // |      12 | Twelve                        |
  9. // |      19 | Nineteen                      |
  10. // |      25 | Twenty five                   |
  11. // |      98 | Ninety eight                  |
  12. // |     273 | Two hundred and seventy three |
  13. // |     400 | Four hundred                  |
  14. // |     501 | Five hundred and one          |
  15. // |     617 | Six hundred and seventeen     |
  16. // |     711 | Seven hundred and eleven      |
  17. // |     999 | Nine hundred and ninety nine  |
  18.  
  19. class NumberAsWords
  20. {
  21.     static void Main()
  22.     {
  23.         try
  24.         {
  25.             Console.Write("Input number: ");
  26.             int number = int.Parse(Console.ReadLine());
  27.             int hundredsDigit = (number / 100) % 10;
  28.             int tensDigit = (number / 10) % 10;
  29.             int unitsDigit = number % 10;
  30.  
  31.             if (number > 99 && number < 1000)
  32.             {
  33.                 Console.Write("{0}", HundredsWords(hundredsDigit));
  34.                 number = number % 100;  //remove the hundreds
  35.                 if (number > 19)
  36.                 {
  37.                     Console.Write(" and {0}", TensWords(tensDigit).ToLower());
  38.                     if (unitsDigit > 0)
  39.                     {
  40.                         Console.Write(" {0}", UnitsWords(unitsDigit).ToLower());
  41.                     }
  42.                 }
  43.                 else
  44.                 {
  45.                     if (number > 0)
  46.                     {
  47.                         Console.Write(" and {0}", UnitsWords(number).ToLower());
  48.                     }
  49.                 }
  50.             }
  51.             else if (number > 19 && number <= 99)
  52.             {
  53.                 Console.Write("{0}", TensWords(tensDigit));
  54.                 if (unitsDigit > 0)
  55.                 {
  56.                     Console.Write(" {0}", UnitsWords(unitsDigit).ToLower());
  57.                 }
  58.             }
  59.             else if (number > 0 && number <= 19)
  60.             {
  61.                 Console.Write("{0}", UnitsWords(number));
  62.             }
  63.             else if (number == 0)
  64.             {
  65.                 Console.Write("Zero");
  66.             }
  67.             else
  68.             {
  69.                 Console.Write("invalid input");
  70.             }
  71.             Console.WriteLine();
  72.         }
  73.         catch (Exception)
  74.         {
  75.             Console.WriteLine("invalid input");
  76.         }
  77.     }
  78.  
  79.     public static string HundredsWords(int n)
  80.     {
  81.         string hundreds = "";
  82.         switch (n)
  83.         {
  84.             case 1:
  85.                 hundreds += "One hundred"; break;
  86.             case 2:
  87.                 hundreds += "Two hundred"; break;
  88.             case 3:
  89.                 hundreds += "Three hundred"; break;
  90.             case 4:
  91.                 hundreds += "Four hundred"; break;
  92.             case 5:
  93.                 hundreds += "Five hundred"; break;
  94.             case 6:
  95.                 hundreds += "Six hundred"; break;
  96.             case 7:
  97.                 hundreds += "Seven hundred"; break;
  98.             case 8:
  99.                 hundreds += "Eight hundred"; break;
  100.             case 9:
  101.                 hundreds += "Nine hundred"; break;
  102.             default:
  103.                 break;
  104.         }
  105.         return hundreds;
  106.     }
  107.  
  108.     public static string TensWords(int n)
  109.     {
  110.         string tens = "";
  111.         switch (n)
  112.         {
  113.             case 2:
  114.                 tens += "Twenty"; break;
  115.             case 3:
  116.                 tens += "Thirty"; break;
  117.             case 4:
  118.                 tens += "Fourty"; break;
  119.             case 5:
  120.                 tens += "Fifty"; break;
  121.             case 6:
  122.                 tens += "Sixty"; break;
  123.             case 7:
  124.                 tens += "Seventy"; break;
  125.             case 8:
  126.                 tens += "Eighty"; break;
  127.             case 9:
  128.                 tens += "Ninety"; break;
  129.             default:
  130.                 break;
  131.         }
  132.         return tens;
  133.     }
  134.  
  135.     public static string UnitsWords(int n)
  136.     {
  137.         string units = "";
  138.         switch (n)
  139.         {
  140.             case 1:
  141.                 units += "One"; break;
  142.             case 2:
  143.                 units += "Two"; break;
  144.             case 3:
  145.                 units += "Three"; break;
  146.             case 4:
  147.                 units += "Four"; break;
  148.             case 5:
  149.                 units += "Five"; break;
  150.             case 6:
  151.                 units += "Six"; break;
  152.             case 7:
  153.                 units += "Seven"; break;
  154.             case 8:
  155.                 units += "Eight"; break;
  156.             case 9:
  157.                 units += "Nine"; break;
  158.             case 10:
  159.                 units += "Ten"; break;
  160.             case 11:
  161.                 units += "Eleven"; break;
  162.             case 12:
  163.                 units += "Twelve"; break;
  164.             case 13:
  165.                 units += "Thirteen"; break;
  166.             case 14:
  167.                 units += "Fourteen"; break;
  168.             case 15:
  169.                 units += "Fifteen"; break;
  170.             case 16:
  171.                 units += "Sixteen"; break;
  172.             case 17:
  173.                 units += "Seventeen"; break;
  174.             case 18:
  175.                 units += "Eighteen"; break;
  176.             case 19:
  177.                 units += "Nineteen"; break;
  178.             default:
  179.                 break;
  180.         }
  181.         return units;
  182.     }
  183. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement