Advertisement
Blagoy

Numbers as words

Sep 22nd, 2015
111
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 8.12 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5.  
  6. namespace Problem_11.Number_as_Words
  7. {
  8.     class NumberAsWords
  9.     {
  10.         static void Main()
  11.         {
  12.             Console.WriteLine("Enter integer number between 0 and 999.");
  13.             string number = Console.ReadLine();
  14.             int non;
  15.             string[] numbers = new string[number.Length];
  16.             string ones = null;
  17.             string tens = null;
  18.             string hundreds = null;
  19.             string numberSentence = null;
  20.  
  21.             while (!int.TryParse(number,out non) || non < 0 || non > 999)
  22.             {
  23.                 if (!int.TryParse(number, out non))
  24.                 {
  25.                     Console.WriteLine("Invalid data");
  26.                 }
  27.                 else
  28.                 {
  29.                     Console.WriteLine("Number is out of range.");
  30.                 }
  31.                 number = Console.ReadLine();
  32.             }
  33.  
  34.             for (int i = 0; i < number.Length; i++)
  35.             {
  36.                 if (number.Length == 3 && i == 0)
  37.                 {
  38.                     switch (number[i])
  39.                     {
  40.                         case '0':
  41.                             hundreds = null;
  42.                             break;
  43.                         case '1':
  44.                             hundreds = "one hundred";
  45.                             break;
  46.                         case '2':
  47.                             hundreds = "two hundred";
  48.                             break;
  49.                         case '3':
  50.                             hundreds = "thiree hundred";
  51.                             break;
  52.                         case '4':
  53.                             hundreds = "four hundred";
  54.                             break;
  55.                         case '5':
  56.                             hundreds = "five hundred";
  57.                             break;
  58.                         case '6':
  59.                             hundreds = "six hundred";
  60.                             break;
  61.                         case '7':
  62.                             hundreds = "seven hundred";
  63.                             break;
  64.                         case '8':
  65.                             hundreds = "eight hundred";
  66.                             break;
  67.                         case '9':
  68.                             hundreds = "nine hundred";
  69.                             break;
  70.                     }
  71.                 }
  72.                 if ((number.Length == 3 && i == 1) || (number.Length == 2 && i == 0))
  73.                 {
  74.                     switch (number[i])
  75.                     {
  76.                         case '0':
  77.                             tens = null;
  78.                             break;
  79.                         case '1':
  80.                             tens = "teen";
  81.                             break;
  82.                         case '2':
  83.                             tens = "twenty";
  84.                             break;
  85.                         case '3':
  86.                             tens = "thirty";
  87.                             break;
  88.                         case '4':
  89.                             tens = "forty";
  90.                             break;
  91.                         case '5':
  92.                             tens = "fifty";
  93.                             break;
  94.                         case '6':
  95.                             tens = "sixty";
  96.                             break;
  97.                         case '7':
  98.                             tens = "seventy";
  99.                             break;
  100.                         case '8':
  101.                             tens = "eighty";
  102.                             break;
  103.                         case '9':
  104.                             tens = "ninety";
  105.                             break;
  106.                     }
  107.                 }
  108.                 if (tens == "teen" && ((number.Length == 3 && i == 2) || (number.Length == 2 && i == 1)))
  109.                 {
  110.                     switch (number[i])
  111.                     {
  112.                         case '0':
  113.                             ones = "ten";
  114.                             break;
  115.                         case '1':
  116.                             ones = "eleven";
  117.                             break;
  118.                         case '2':
  119.                             ones = "twelve";
  120.                             break;
  121.                         case '3':
  122.                             ones = "thirteen";
  123.                             break;
  124.                         case '4':
  125.                             ones = "fourteen";
  126.                             break;
  127.                         case '5':
  128.                             ones = "fifteen";
  129.                             break;
  130.                         case '6':
  131.                             ones = "sixteen";
  132.                             break;
  133.                         case '7':
  134.                             ones = "seventeen";
  135.                             break;
  136.                         case '8':
  137.                             ones = "eighteen";
  138.                             break;
  139.                         case '9':
  140.                             ones = "nineteen";
  141.                             break;
  142.                     }
  143.                 }
  144.                 else if ((number.Length == 3 && i == 2) || (number.Length == 2 && i == 1) || number.Length == 1)
  145.                 {
  146.                     switch (number[i])
  147.                     {
  148.                         case '0':
  149.                             if (number.Length == 1)
  150.                             {
  151.                                 ones = "Zero";
  152.                             }
  153.                             else
  154.                             {
  155.                                 ones = null;
  156.                             }
  157.                             break;
  158.                         case '1':
  159.                             ones = "one";
  160.                             break;
  161.                         case '2':
  162.                             ones = "two";
  163.                             break;
  164.                         case '3':
  165.                             ones = "thiree";
  166.                             break;
  167.                         case '4':
  168.                             ones = "four";
  169.                             break;
  170.                         case '5':
  171.                             ones = "five";
  172.                             break;
  173.                         case '6':
  174.                             ones = "six";
  175.                             break;
  176.                         case '7':
  177.                             ones = "seven";
  178.                             break;
  179.                         case '8':
  180.                             ones = "eight";
  181.                             break;
  182.                         case '9':
  183.                             ones = "nine";
  184.                             break;
  185.                     }
  186.                 }
  187.             }
  188.  
  189.             switch (number.Length)
  190.             {
  191.                 case 1:
  192.                     numberSentence = ones;
  193.                     break;
  194.                 case 2:
  195.                     if (tens == "teen")
  196.                     {
  197.                         numberSentence = ones;
  198.                     }
  199.                     else if (ones != null)
  200.                     {
  201.                         numberSentence = tens + " " + ones;
  202.                     }
  203.                     else
  204.                     {
  205.                         numberSentence = tens;
  206.                     }
  207.                     break;
  208.                 case 3:
  209.                     if (tens == null && ones == null)
  210.                     {
  211.                         numberSentence = hundreds;
  212.                     }
  213.                     else if (tens == "teen")
  214.                     {
  215.                         numberSentence = hundreds + " and " + ones;
  216.                     }
  217.                     else if (ones != null)
  218.                     {
  219.                         numberSentence = hundreds + " and " + tens + " " + ones;
  220.                     }
  221.                     else
  222.                     {
  223.                         numberSentence = hundreds + " and " + tens;
  224.                     }
  225.                     break;
  226.             }
  227.  
  228.             Console.WriteLine(numberSentence);
  229.         }
  230.     }
  231. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement