Advertisement
sylviapsh

Write In English the Number Names 0-999

Dec 28th, 2012
39
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 3.28 KB | None | 0 0
  1. using System;
  2. class WriteInEnglishNumberNames
  3. {
  4.   static void Main()
  5.   {
  6.     //* Write a program that converts a number in the range [0...999] to a text corresponding to its English pronunciation. Examples:
  7.       //0 -> "Zero"
  8.       //273 ->"Two hundred seventy three"
  9.       //400 -> "Four hundred"
  10.       //501 -> "Five hundred and one"
  11.       //711 -> "Seven hundred and eleven"
  12.  
  13.     Console.Write("Please enter an integer number in the range [0, 999]: ");
  14.     string userInput = Console.ReadLine();
  15.     int numberToWrite;
  16.     bool isCorrectInput = int.TryParse(userInput, out numberToWrite);
  17.  
  18.     string[] arrayZeroToNineteen = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
  19.     string[] arrayTens = {"twenty", "thirty", "fourty", "fifty", "sixty", "seventy", "eighty", "ninety", "hundred" };
  20.  
  21.     if (isCorrectInput)
  22.     {
  23.       if (numberToWrite >= 0 && numberToWrite < 100)
  24.       {
  25.         if (numberToWrite >= 0 && numberToWrite <= 19) { Console.WriteLine("{0}", arrayZeroToNineteen[numberToWrite]); }
  26.         if (numberToWrite == 20 || numberToWrite == 30 || numberToWrite == 40 || numberToWrite == 50 || numberToWrite == 60 || numberToWrite == 70 || numberToWrite == 80 || numberToWrite == 90 || numberToWrite == 100) { Console.WriteLine("{0}", arrayTens[((numberToWrite / 10) - 2)]); }
  27.         if (numberToWrite > 20 && numberToWrite < 100) { Console.WriteLine("{0}-{1}", arrayTens[((numberToWrite / 10) - 2)], arrayZeroToNineteen[numberToWrite % 10]); }
  28.       }
  29.       else if (numberToWrite == 100 || numberToWrite == 200 || numberToWrite == 300 || numberToWrite == 400 || numberToWrite == 500 || numberToWrite == 600 || numberToWrite == 700 || numberToWrite == 800 || numberToWrite == 900)
  30.       {
  31.         Console.WriteLine("{0} hundred", arrayZeroToNineteen[(numberToWrite / 100)]);
  32.       }
  33.       else if (numberToWrite > 100 && numberToWrite < 1000)
  34.       {
  35.         switch (numberToWrite % 100)
  36.         {
  37.           case 1:
  38.           case 2:
  39.           case 3:
  40.           case 4:
  41.           case 5:
  42.           case 6:
  43.           case 7:
  44.           case 8:
  45.           case 9:
  46.           case 10:
  47.           case 11:
  48.           case 12:
  49.           case 13:
  50.           case 14:
  51.           case 15:
  52.           case 16:
  53.           case 17:
  54.           case 18:
  55.           case 19:
  56.             Console.WriteLine("{0} hundred and {1}", arrayZeroToNineteen[((numberToWrite / 100) + 1)], arrayZeroToNineteen[(numberToWrite % 100) + 1]);
  57.             break;
  58.  
  59.           case 20:
  60.           case 30:
  61.           case 40:
  62.           case 50:
  63.           case 60:
  64.           case 70:
  65.           case 80:
  66.           case 90:
  67.             Console.WriteLine("{0} hundred and {1}", arrayZeroToNineteen[(numberToWrite / 100)], arrayTens[(((numberToWrite % 100) / 10) - 2)]);
  68.             break;
  69.           default:
  70.             Console.WriteLine("{0} hundred and {1}-{2}", arrayZeroToNineteen[(numberToWrite / 100)], arrayTens[(((numberToWrite % 100) / 10) - 2)], arrayZeroToNineteen[(numberToWrite % 100) % 10]);
  71.             break;
  72.         }
  73.       }
  74.       else
  75.       {
  76.         Console.WriteLine("Incorrect input! You should enter a number between 0 and 999!");
  77.       }
  78.     }
  79.   }
  80. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement