Advertisement
darighteous1

NumbersAsWords

Mar 2nd, 2015
235
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.71 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3.  
  4. class NumbersAsWords
  5. {
  6.     static void Main(string[] args)
  7.     {
  8.         string[] lesserNumbers = { "zero", "one", "two", "three", "four", "five", "six", "seven",
  9.                                      "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen",
  10.                                      "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"};
  11.         string[] tens = { "twenty", "thirty", "forty", "fifty", "sixty", "seventy", "eighty", "ninety" };
  12.  
  13.         Console.Write("Please, enter a number between 0 and 999 inclusive:");
  14.  
  15.         int input;
  16.         bool validInputCheck = Int32.TryParse(Console.ReadLine(), out input);
  17.        
  18.         if (validInputCheck == false)
  19.         {
  20.             Console.WriteLine("ARGH! THOU SHALL ENTER NUMBER!!!");
  21.             return;
  22.         }
  23.        
  24.         if (input < 0 || input > 999)
  25.         {
  26.             Console.WriteLine("ARGH! WRONG NUMBER!!!");
  27.             return;
  28.         }
  29.  
  30.         int indexLesserNums = input % 10;
  31.         int indexTens = input / 10 - 2;
  32.         string capitalFirstLetter;
  33.  
  34.         if (input >= 100 && input % 100 == 0)
  35.         {
  36.             capitalFirstLetter = lesserNumbers[input / 100].First().ToString().ToUpper() + lesserNumbers[input / 100].Substring(1);
  37.             Console.WriteLine("{0} hundred", capitalFirstLetter);
  38.             return;
  39.         }
  40.  
  41.         if (input < 20)
  42.         {
  43.             capitalFirstLetter = lesserNumbers[input].First().ToString().ToUpper() + lesserNumbers[input].Substring(1);
  44.             Console.WriteLine(capitalFirstLetter);
  45.         }
  46.         else if (input >= 20 && input < 100)
  47.         {
  48.             capitalFirstLetter = tens[indexTens].First().ToString().ToUpper() + tens[indexTens].Substring(1);
  49.             if (input % 10 == 0)
  50.             {
  51.                 Console.WriteLine(capitalFirstLetter);
  52.             }
  53.             else
  54.             {
  55.                 Console.WriteLine("{0} {1}", capitalFirstLetter, lesserNumbers[indexLesserNums]);
  56.             }
  57.         }
  58.         else if (input >= 100 && input < 1000)
  59.         {
  60.             int indexHundreds = input / 100;
  61.             int indexLessThanTwenty = input % 100;
  62.             capitalFirstLetter = lesserNumbers[indexHundreds].First().ToString().ToUpper() + lesserNumbers[indexHundreds].Substring(1);
  63.  
  64.             if (input % 100 < 20)
  65.             {
  66.                 Console.WriteLine("{0} hundred and {1}", capitalFirstLetter, lesserNumbers[indexLessThanTwenty]);
  67.             }
  68.             else
  69.             {
  70.                 int indexBiggerThanTwenty = (input % 100 / 10) - 2;
  71.                 Console.WriteLine("{0} hundred and {1} {2}", capitalFirstLetter, tens[indexBiggerThanTwenty], lesserNumbers[indexLesserNums]);
  72.             }
  73.         }
  74.     }
  75. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement