Advertisement
coasterka

#5NumberAsWords

Mar 27th, 2014
337
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 13.55 KB | None | 0 0
  1. using System;
  2.  
  3. class NumberAsWords
  4. {
  5.     static void Main()
  6.     {
  7.         while (true)
  8.         {
  9.             Console.WriteLine("Enter a random number in the range [0...999].");
  10.             string number = Console.ReadLine();
  11.             int numberInt = int.Parse(number);
  12.             int numberLength = number.Length;
  13.             if (numberLength == 1)
  14.             {
  15.                 string numberOneDigit = null;
  16.                 switch (numberInt)
  17.                 {
  18.                     case 0: numberOneDigit = "Zero"; break;
  19.                     case 1: numberOneDigit = "One"; break;
  20.                     case 2: numberOneDigit = "Two"; break;
  21.                     case 3: numberOneDigit = "Three"; break;
  22.                     case 4: numberOneDigit = "Four"; break;
  23.                     case 5: numberOneDigit = "Five"; break;
  24.                     case 6: numberOneDigit = "Six"; break;
  25.                     case 7: numberOneDigit = "Seven"; break;
  26.                     case 8: numberOneDigit = "Eight"; break;
  27.                     case 9: numberOneDigit = "Nine"; break;
  28.                 }
  29.                 Console.WriteLine(numberOneDigit);
  30.             }
  31.             else if (numberLength == 2)
  32.             {
  33.                 string firstDigitOfTwoDigitNumIsOne = null;
  34.                 string firstDigitOfTwoDigitNum = number.Substring(0, 1);
  35.                 int firstDigitOfTwoDigitNumInt = int.Parse(firstDigitOfTwoDigitNum);
  36.                 string secondDigitOfTwoDigitNum = number.Substring(1, 1);
  37.                 int secondDigitOfTwoDigitNumInt = int.Parse(secondDigitOfTwoDigitNum);
  38.                 if (firstDigitOfTwoDigitNumInt == 1)
  39.                 {
  40.                     switch (secondDigitOfTwoDigitNumInt)
  41.                     {
  42.                         case 0: firstDigitOfTwoDigitNumIsOne = "Ten"; break;
  43.                         case 1: firstDigitOfTwoDigitNumIsOne = "Eleven"; break;
  44.                         case 2: firstDigitOfTwoDigitNumIsOne = "Twelve"; break;
  45.                         case 3: firstDigitOfTwoDigitNumIsOne = "Thirteen"; break;
  46.                         case 4: firstDigitOfTwoDigitNumIsOne = "Fourteen"; break;
  47.                         case 5: firstDigitOfTwoDigitNumIsOne = "Fifteen"; break;
  48.                         case 6: firstDigitOfTwoDigitNumIsOne = "Sixteen"; break;
  49.                         case 7: firstDigitOfTwoDigitNumIsOne = "Seventeen"; break;
  50.                         case 8: firstDigitOfTwoDigitNumIsOne = "Eighteen"; break;
  51.                         case 9: firstDigitOfTwoDigitNumIsOne = "Nineteen"; break;
  52.                     }
  53.                     Console.WriteLine(firstDigitOfTwoDigitNumIsOne);
  54.                 }
  55.                 if (firstDigitOfTwoDigitNumInt >= 2 && firstDigitOfTwoDigitNumInt <= 9)
  56.                 {
  57.                     string roundTwoDigitNumber = null;
  58.                     if (numberInt % 10 == 0)
  59.                     {
  60.                         switch (firstDigitOfTwoDigitNumInt)
  61.                         {
  62.                             case 2: roundTwoDigitNumber = "Twenty"; break;
  63.                             case 3: roundTwoDigitNumber = "Thirty"; break;
  64.                             case 4: roundTwoDigitNumber = "Fourty"; break;
  65.                             case 5: roundTwoDigitNumber = "Fifty"; break;
  66.                             case 6: roundTwoDigitNumber = "Sixty"; break;
  67.                             case 7: roundTwoDigitNumber = "Seventy"; break;
  68.                             case 8: roundTwoDigitNumber = "Eighty"; break;
  69.                             case 9: roundTwoDigitNumber = "Ninety"; break;
  70.                         }
  71.                         Console.WriteLine(roundTwoDigitNumber);
  72.                     }
  73.                     else
  74.                     {
  75.                         switch (firstDigitOfTwoDigitNumInt)
  76.                         {
  77.                             case 2: firstDigitOfTwoDigitNum = "Twenty"; break;
  78.                             case 3: firstDigitOfTwoDigitNum = "Thirthy"; break;
  79.                             case 4: firstDigitOfTwoDigitNum = "Fourty"; break;
  80.                             case 5: firstDigitOfTwoDigitNum = "Fifty"; break;
  81.                             case 6: firstDigitOfTwoDigitNum = "Sixty"; break;
  82.                             case 7: firstDigitOfTwoDigitNum = "Seventy"; break;
  83.                             case 8: firstDigitOfTwoDigitNum = "Eighty"; break;
  84.                             case 9: firstDigitOfTwoDigitNum = "Ninety"; break;
  85.                         }
  86.                         switch (secondDigitOfTwoDigitNumInt)
  87.                         {
  88.                             case 1: secondDigitOfTwoDigitNum = "one"; break;
  89.                             case 2: secondDigitOfTwoDigitNum = "two"; break;
  90.                             case 3: secondDigitOfTwoDigitNum = "three"; break;
  91.                             case 4: secondDigitOfTwoDigitNum = "four"; break;
  92.                             case 5: secondDigitOfTwoDigitNum = "five"; break;
  93.                             case 6: secondDigitOfTwoDigitNum = "six"; break;
  94.                             case 7: secondDigitOfTwoDigitNum = "seven"; break;
  95.                             case 8: secondDigitOfTwoDigitNum = "eight"; break;
  96.                             case 9: secondDigitOfTwoDigitNum = "nine"; break;
  97.                         }
  98.                         Console.WriteLine("{0} {1}", firstDigitOfTwoDigitNum, secondDigitOfTwoDigitNum);
  99.                     }
  100.                 }
  101.             }
  102.             else if (numberLength == 3)
  103.             {
  104.                 string andWord = "and";
  105.                 string firstDigitOfThreeDigitNum = number.Substring(0, 1);
  106.                 int firstDigitOfThreeDigitNumInt = int.Parse(firstDigitOfThreeDigitNum);
  107.                 string secondDigitOfThreeDigitNum = number.Substring(1, 1);
  108.                 int secondDigitOfThreeDigitNumInt = int.Parse(secondDigitOfThreeDigitNum);
  109.                 string thirdDigitOfThreeDigitNum = number.Substring(2, 1);
  110.                 int thirdDigitOfThreeDigitNumInt = int.Parse(thirdDigitOfThreeDigitNum);
  111.                 if (numberInt % 100 == 0)
  112.                 {
  113.                     string roundThreeDigitNumber = null;
  114.                     switch (firstDigitOfThreeDigitNumInt)
  115.                     {
  116.                         case 1: roundThreeDigitNumber = "One hundred"; break;
  117.                         case 2: roundThreeDigitNumber = "Two hundred"; break;
  118.                         case 3: roundThreeDigitNumber = "Three hundred"; break;
  119.                         case 4: roundThreeDigitNumber = "Four hundred"; break;
  120.                         case 5: roundThreeDigitNumber = "Five hundred"; break;
  121.                         case 6: roundThreeDigitNumber = "Six hundred"; break;
  122.                         case 7: roundThreeDigitNumber = "Seven hundred"; break;
  123.                         case 8: roundThreeDigitNumber = "Eight hundred"; break;
  124.                         case 9: roundThreeDigitNumber = "Nine hundred"; break;
  125.                     }
  126.                     Console.WriteLine(roundThreeDigitNumber);
  127.                 }
  128.                 else
  129.                 {
  130.                     string secondAndThirdDigits = number.Substring(1, 2);
  131.                     int secondAndThirdDigitsInt = int.Parse(secondAndThirdDigits);
  132.                     switch (firstDigitOfThreeDigitNumInt)
  133.                     {
  134.                         case 1: firstDigitOfThreeDigitNum = "One hundred"; break;
  135.                         case 2: firstDigitOfThreeDigitNum = "Two hundred"; break;
  136.                         case 3: firstDigitOfThreeDigitNum = "Three hundred"; break;
  137.                         case 4: firstDigitOfThreeDigitNum = "Four hundred"; break;
  138.                         case 5: firstDigitOfThreeDigitNum = "Five hundred"; break;
  139.                         case 6: firstDigitOfThreeDigitNum = "Six hundred"; break;
  140.                         case 7: firstDigitOfThreeDigitNum = "Seven hundred"; break;
  141.                         case 8: firstDigitOfThreeDigitNum = "Eight hundred"; break;
  142.                         case 9: firstDigitOfThreeDigitNum = "Nine hundred"; break;
  143.                     }
  144.                     if (secondAndThirdDigitsInt % 10 == 0)
  145.                     {
  146.                         switch (secondDigitOfThreeDigitNumInt)
  147.                         {
  148.                             case 1: secondDigitOfThreeDigitNum = "ten"; break;
  149.                             case 2: secondDigitOfThreeDigitNum = "twenty"; break;
  150.                             case 3: secondDigitOfThreeDigitNum = "thirty"; break;
  151.                             case 4: secondDigitOfThreeDigitNum = "fourty"; break;
  152.                             case 5: secondDigitOfThreeDigitNum = "fifty"; break;
  153.                             case 6: secondDigitOfThreeDigitNum = "sixty"; break;
  154.                             case 7: secondDigitOfThreeDigitNum = "seventy"; break;
  155.                             case 8: secondDigitOfThreeDigitNum = "eighty"; break;
  156.                             case 9: secondDigitOfThreeDigitNum = "ninety"; break;
  157.                         }
  158.                         Console.WriteLine("{0} {1} {2}", firstDigitOfThreeDigitNum, andWord, secondDigitOfThreeDigitNum);
  159.                     }
  160.                     else
  161.                     {
  162.                         if (secondDigitOfThreeDigitNumInt == 0)
  163.                         {
  164.                             switch (thirdDigitOfThreeDigitNumInt)
  165.                             {
  166.                                 case 1: thirdDigitOfThreeDigitNum = "one"; break;
  167.                                 case 2: thirdDigitOfThreeDigitNum = "two"; break;
  168.                                 case 3: thirdDigitOfThreeDigitNum = "three"; break;
  169.                                 case 4: thirdDigitOfThreeDigitNum = "four"; break;
  170.                                 case 5: thirdDigitOfThreeDigitNum = "five"; break;
  171.                                 case 6: thirdDigitOfThreeDigitNum = "six"; break;
  172.                                 case 7: thirdDigitOfThreeDigitNum = "seven"; break;
  173.                                 case 8: thirdDigitOfThreeDigitNum = "eight"; break;
  174.                                 case 9: thirdDigitOfThreeDigitNum = "nine"; break;
  175.                             }
  176.                             Console.WriteLine("{0} {1} {2}", firstDigitOfThreeDigitNum, andWord, thirdDigitOfThreeDigitNum);
  177.                         }
  178.                         if (secondDigitOfThreeDigitNumInt == 1)
  179.                         {
  180.                             switch (thirdDigitOfThreeDigitNumInt)
  181.                             {
  182.                                 case 1: secondDigitOfThreeDigitNum = "eleven"; break;
  183.                                 case 2: secondDigitOfThreeDigitNum = "twelve"; break;
  184.                                 case 3: secondDigitOfThreeDigitNum = "thirteen"; break;
  185.                                 case 4: secondDigitOfThreeDigitNum = "fourteen"; break;
  186.                                 case 5: secondDigitOfThreeDigitNum = "fifteen"; break;
  187.                                 case 6: secondDigitOfThreeDigitNum = "sixteen"; break;
  188.                                 case 7: secondDigitOfThreeDigitNum = "seventeen"; break;
  189.                                 case 8: secondDigitOfThreeDigitNum = "eighteen"; break;
  190.                                 case 9: secondDigitOfThreeDigitNum = "nineteen"; break;
  191.                             }
  192.                             Console.WriteLine("{0} {1} {2}", firstDigitOfThreeDigitNum, andWord, secondDigitOfThreeDigitNum);
  193.                         }
  194.                         else if (secondDigitOfThreeDigitNumInt >= 2 && secondDigitOfThreeDigitNumInt <= 9)
  195.                         {
  196.                             switch (secondDigitOfThreeDigitNumInt)
  197.                             {
  198.                                 case 2: secondDigitOfThreeDigitNum = "twenty"; break;
  199.                                 case 3: secondDigitOfThreeDigitNum = "thirty"; break;
  200.                                 case 4: secondDigitOfThreeDigitNum = "fourty"; break;
  201.                                 case 5: secondDigitOfThreeDigitNum = "fifty"; break;
  202.                                 case 6: secondDigitOfThreeDigitNum = "sixty"; break;
  203.                                 case 7: secondDigitOfThreeDigitNum = "seventy"; break;
  204.                                 case 8: secondDigitOfThreeDigitNum = "eighty"; break;
  205.                                 case 9: secondDigitOfThreeDigitNum = "ninety"; break;
  206.                             }
  207.                             switch (thirdDigitOfThreeDigitNumInt)
  208.                             {
  209.                                 case 1: thirdDigitOfThreeDigitNum = "one"; break;
  210.                                 case 2: thirdDigitOfThreeDigitNum = "two"; break;
  211.                                 case 3: thirdDigitOfThreeDigitNum = "three"; break;
  212.                                 case 4: thirdDigitOfThreeDigitNum = "four"; break;
  213.                                 case 5: thirdDigitOfThreeDigitNum = "five"; break;
  214.                                 case 6: thirdDigitOfThreeDigitNum = "six"; break;
  215.                                 case 7: thirdDigitOfThreeDigitNum = "seven"; break;
  216.                                 case 8: thirdDigitOfThreeDigitNum = "eight"; break;
  217.                                 case 9: thirdDigitOfThreeDigitNum = "nine"; break;
  218.                             }
  219.                             Console.WriteLine("{0} {1} {2} {3}", firstDigitOfThreeDigitNum, andWord, secondDigitOfThreeDigitNum, thirdDigitOfThreeDigitNum);
  220.                         }
  221.                     }
  222.                 }
  223.             }
  224.             else
  225.             {
  226.                 Console.WriteLine("Wrong input!");
  227.             }
  228.         }
  229.     }
  230. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement