Advertisement
miroLLL

NumberAsWords

Oct 1st, 2015
288
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 9.17 KB | None | 0 0
  1. using System;
  2.  
  3. class NumberAsWords
  4. {
  5.     static void Main()
  6.     {
  7.         Console.WriteLine("Enter integer number in range 0-999");
  8.         try
  9.         {
  10.             int inputNumber = int.Parse(Console.ReadLine());
  11.  
  12.             string[] sBasicNumbers = {"Zero", "One", "Two", "Three", "Four", "Five", "Six", "Seven", "Eight", "Nine"};
  13.             int[] iBasicNumbers = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
  14.  
  15.             string[] sFrom10To19 = {"Ten", "Eleven", "Twelve", "Thirteen", "Fourteen", "Fifteen", "Sixteen", "Seventeen", "Eighteen", "Nineteen"};
  16.             int[] iFrom10To19 = {10, 11, 12, 13, 14, 15, 16, 17, 18, 19};
  17.  
  18.             string[] sRoundedDecimals = {"Twenty", "Thirty", "Fourty", "Fifty", "Sixty", "Seventy", "Eighty", "Ninety"};
  19.             int[] iRoundedDecimals = {20, 30, 40, 50, 60, 70, 80, 90};
  20.  
  21.             if (inputNumber >= 0 && inputNumber <= 99)
  22.             {
  23.                 if (inputNumber >= 0 && inputNumber <= 9)
  24.                 {
  25.                     for (int numberVaule = iBasicNumbers[0]; numberVaule <= iBasicNumbers[9]; numberVaule++ )
  26.                     {
  27.                         if(inputNumber == numberVaule)
  28.                         {
  29.                             Console.WriteLine(sBasicNumbers[numberVaule]);
  30.                         }
  31.                     }
  32.                 }
  33.  
  34.                 if(inputNumber >= 10 && inputNumber <= 19)
  35.                 {
  36.                     for (int numberValue = iFrom10To19[0]; numberValue <= iFrom10To19[9]; numberValue++)
  37.                     {
  38.                         if (inputNumber == numberValue)
  39.                         {
  40.                             Console.WriteLine(sFrom10To19[numberValue-10]);
  41.                         }
  42.                     }
  43.                 }
  44.  
  45.                 if (inputNumber >= 20 && inputNumber <= 99)
  46.                 {
  47.                    
  48.                     int firstDigit = inputNumber / 10;
  49.                     int secondDigit = inputNumber % 10;
  50.  
  51.                     if (secondDigit == 0)
  52.                     {        
  53.                         for (int numberValue = iRoundedDecimals[0]; numberValue <= iRoundedDecimals[7]; numberValue+=10)
  54.                         {
  55.                             if(inputNumber == numberValue)
  56.                             {
  57.                                 int numberPosition = (numberValue - 20) / 10;
  58.                                 Console.WriteLine(sRoundedDecimals[numberPosition]);                        
  59.                             }
  60.                         }
  61.                     }
  62.  
  63.                     if( secondDigit != 0)
  64.                     {
  65.                         for (int numberValue = iBasicNumbers[0]; numberValue <= iBasicNumbers[9]; numberValue++)
  66.                         {
  67.                             if (secondDigit == numberValue)
  68.                             {
  69.                                 string twoDigit = sBasicNumbers[secondDigit];
  70.  
  71.                                 for (int numberValue1 = iBasicNumbers[0]; numberValue1 <= iBasicNumbers[9]; numberValue1++)
  72.                                 {
  73.                                     if (numberValue1 == firstDigit)
  74.                                     {
  75.                                         string oneDigit = sRoundedDecimals[firstDigit - 2];
  76.  
  77.                                         Console.WriteLine("{0} {1}", oneDigit, twoDigit);
  78.                                     }
  79.                                 }
  80.                             }
  81.                         }
  82.                     }    
  83.                 }
  84.             }
  85.  
  86.             if(inputNumber >= 100 && inputNumber <= 999)
  87.             {
  88.                 int firstDigit = (inputNumber / 100) % 10;
  89.                 int secondDigit = (inputNumber / 10) % 10;
  90.                 int thirdDigit = inputNumber % 10;
  91.  
  92.                 if(secondDigit == 0 && thirdDigit ==0)
  93.                 {
  94.                     for (int numberValue = iBasicNumbers[1]; numberValue <= iBasicNumbers[9]; numberValue++)
  95.                     {      
  96.                         if (firstDigit == numberValue)
  97.                         {
  98.                             string fDigit = sBasicNumbers[firstDigit] + " Hundred";
  99.                             Console.WriteLine(fDigit);
  100.                         }
  101.                     }
  102.                 }
  103.  
  104.                 if( secondDigit == 0)
  105.                 {
  106.                     for (int numberValue = iBasicNumbers[1]; numberValue <= iBasicNumbers[9]; numberValue++)
  107.                     {
  108.                         if (firstDigit == numberValue)
  109.                         {
  110.                             string fDigit = sBasicNumbers[firstDigit] + " Hundred";
  111.  
  112.                             for (int numberValue1 = iBasicNumbers[1]; numberValue1 <= iBasicNumbers[9]; numberValue1++)
  113.                             {
  114.                                 if (thirdDigit == numberValue1)
  115.                                 {
  116.                                     string lastDigit = sBasicNumbers[thirdDigit];
  117.                                     Console.WriteLine("{0} and {1}",fDigit ,lastDigit);
  118.                                 }
  119.                             }
  120.                         }
  121.                     }  
  122.                 }
  123.  
  124.                 if(secondDigit == 1)
  125.                 {
  126.                     for (int numberValue = iBasicNumbers[1]; numberValue <= iBasicNumbers[9]; numberValue++)
  127.                     {
  128.                         if (firstDigit == numberValue)
  129.                         {
  130.                             string fDigit = sBasicNumbers[firstDigit] + " Hundred";
  131.  
  132.                             for (int numberValue2 = iFrom10To19[0]; numberValue2 <= iFrom10To19[9]; numberValue2++)
  133.                             {
  134.                                 int findFirstNum = inputNumber / 100;
  135.                                 int useFirstNum = findFirstNum * 100;
  136.                                 int removeHundreds = inputNumber - useFirstNum;
  137.  
  138.                                 if (removeHundreds == numberValue2)
  139.                                 {
  140.                                     string lastTwoDigitsTo19 = sFrom10To19[removeHundreds-10];
  141.                                     Console.WriteLine("{0} and {1}", fDigit, lastTwoDigitsTo19);
  142.                                 }
  143.                             }
  144.                         }
  145.                     }
  146.                 }
  147.  
  148.                 if (thirdDigit == 0)
  149.                 {
  150.                     for (int numberValue = iBasicNumbers[1]; numberValue <= iBasicNumbers[9]; numberValue++)
  151.                     {
  152.                         if (firstDigit == numberValue)
  153.                         {
  154.                             string fDigit = sBasicNumbers[firstDigit] + " Hundred";
  155.  
  156.                             for (int numberValue2 = iRoundedDecimals[0]; numberValue2 <= iRoundedDecimals[7]; numberValue2 += 10)
  157.                             {
  158.                                 int findFirstNum = inputNumber / 100;
  159.                                 int useFirstNum = findFirstNum * 100;
  160.                                 int removeHundreds = inputNumber - useFirstNum;
  161.                                
  162.                                 if (numberValue2 == removeHundreds)
  163.                                 {
  164.                                     int numberPosition = (numberValue2 - 20) / 10;
  165.                                     string thirdDigitIs0 = sRoundedDecimals[numberPosition];
  166.                                     Console.WriteLine("{0} and {1}", fDigit, thirdDigitIs0);
  167.                                 }              
  168.                             }
  169.                         }
  170.                     }
  171.                 }
  172.  
  173.                 if ((secondDigit != 0 && thirdDigit != 0) && secondDigit != 1)
  174.                 {
  175.                     for (int numberValue = iBasicNumbers[1]; numberValue <= iBasicNumbers[9]; numberValue++)
  176.                     {
  177.                         if (firstDigit == numberValue)
  178.                         {
  179.                             string fDigit = sBasicNumbers[firstDigit] + " Hundred";
  180.  
  181.                             for (int numberValue2 = iBasicNumbers[1]; numberValue2 <= iBasicNumbers[9]; numberValue2++)
  182.                             {
  183.                                 if (secondDigit == numberValue2)
  184.                                 {
  185.                                     string sDigit = sRoundedDecimals[secondDigit - 2];
  186.  
  187.                                     for (int numberValue3 = iBasicNumbers[1]; numberValue3 <= iBasicNumbers[9]; numberValue3++)
  188.                                     {
  189.                                         if (thirdDigit == numberValue3)
  190.                                         {
  191.                                             string tDigit = sBasicNumbers[thirdDigit];
  192.  
  193.                                             Console.WriteLine("{0} and {1} {2}", fDigit, sDigit, tDigit);
  194.                                         }
  195.                                     }
  196.                                 }
  197.                             }
  198.                         }
  199.                     }
  200.                 }
  201.             }
  202.         }
  203.            
  204.         catch
  205.         {
  206.             Console.WriteLine("Invalid input number, try again and be careful!");
  207.         }
  208.     }
  209. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement