Advertisement
VKNikov

Numbers as Words

Mar 23rd, 2014
132
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.91 KB | None | 0 0
  1. //Problem 11.   * Number as Words
  2. //Write a program that converts a number in the range [0…999] to words, corresponding to the English pronunciation.
  3.  
  4. using System;
  5.  
  6. class NumberAsWords
  7. {
  8.     static void Main()
  9.     {
  10.         Console.WriteLine("This program will show any inputed number in the range 0-999 as words.");
  11.         Console.WriteLine("Please input a number:");
  12.         string userinput = Console.ReadLine();
  13.         int number;
  14.  
  15.         if (int.TryParse(userinput, out number) && number > 0 && number < 1000)
  16.         {
  17.             int[] numberArray = new int[3];
  18.             for (int i = 0; i < userinput.Length; i++) //The purpose of the loop is to assign values to the corresponding int array. I know there be easier ways to do it but this is the first thing I came up with.
  19.             {
  20.                 numberArray[i] = userinput[i] - '0';
  21.             }
  22.  
  23.             string[] ones = { "one", "two", "three", "four", "five", "six", "seven", "eight", "nine" };
  24.             string[] tens = { "ten", "twenty", "thirty", "fourty", "fifty", "sixty", "seventy", "eighty", "ninety" };
  25.             string[] hundreds = { "One hundred", "Two hundred", "Three hundred", "Four hundred", "Five hundred", "Six hundred", "Seven hundred", "Eight hundred", "Nine hundred" };
  26.             string[] teens = { "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
  27.  
  28.  
  29.             if (number > 100 && numberArray[0] > 0)
  30.             {
  31.                 if (numberArray[1] == 0 && numberArray[2] > 0)
  32.                 {
  33.                     Console.WriteLine(hundreds[numberArray[0] - 1] + " and " + ones[numberArray[2] - 1]);
  34.                 }
  35.                 else if (numberArray[1] > 0 && numberArray[2] == 0)
  36.                 {
  37.                     Console.WriteLine(hundreds[numberArray[0] - 1] + " and " + tens[numberArray[1] - 1]);
  38.                 }
  39.                 else if (numberArray[1] > 0 && numberArray[2] > 1)
  40.                 {
  41.                     Console.WriteLine(hundreds[numberArray[0] - 1] + " and " + tens[numberArray[1] - 1] + " " + ones[numberArray[2] - 1]);
  42.                 }
  43.                 else if (numberArray[1] == 1 && numberArray[2] == 1)
  44.                 {
  45.                     Console.WriteLine(hundreds[numberArray[0] - 1] + " and " + teens[numberArray[2] - 1]);
  46.                 }
  47.                 else
  48.                 {
  49.                     Console.WriteLine(hundreds[numberArray[0] - 1]);
  50.                 }
  51.             }
  52.  
  53.             if (number < 100)
  54.             {
  55.                 if (number < 10 && number > 0)
  56.                 {
  57.                     Console.WriteLine(UppercaseFirst(ones[numberArray[0] - 1]));
  58.                 }
  59.                 else if (number == 0)
  60.                 {
  61.                     Console.WriteLine("Zero");
  62.                 }
  63.                 else if (number > 10 && number < 20)
  64.                 {
  65.                     Console.WriteLine(UppercaseFirst(teens[numberArray[1] - 1]));
  66.                 }
  67.                 else if (number == 10 || number == 20 || number == 30 || number == 40 || number == 50 || number == 60 || number == 70 || number == 80 || number == 90)
  68.                 {
  69.                     Console.WriteLine(UppercaseFirst(tens[numberArray[0] - 1]));
  70.                 }
  71.                 else
  72.                 {
  73.                     Console.WriteLine(UppercaseFirst(tens[numberArray[0] - 1]) + " " + ones[numberArray[1] - 1]);
  74.                 }
  75.             }
  76.  
  77.         }
  78.         else
  79.         {
  80.             Console.WriteLine("invalid input.");
  81.         }
  82.  
  83.  
  84.     }
  85.  
  86.     //This creates a method to convert the first letter of a word to a capital letter
  87.     static string UppercaseFirst(string words)
  88.     {
  89.         if (string.IsNullOrEmpty(words))
  90.         {
  91.             return string.Empty;
  92.         }
  93.         char[] a = words.ToCharArray();
  94.         a[0] = char.ToUpper(a[0]);
  95.         return new string(a);
  96.     }
  97. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement