Advertisement
Filkolev

Number As Words

Jul 5th, 2014
345
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 4.68 KB | None | 0 0
  1. using System;
  2.  
  3. // Write a program that converts a number in the range [0…999]
  4. // to words, corresponding to the English pronunciation.
  5.  
  6. class DigitAsWord
  7. {
  8.     static void Main()
  9.     {
  10.         // I use a loop to print them all and make sure everything works correctly
  11.         // It can easily be replaced with user input
  12.         Console.BufferHeight = 1001;
  13.  
  14.         for (int i = 0; i < 1000; i++)
  15.         //string input = Console.ReadLine();
  16.         //int number = int.Parse(input);
  17.         {
  18.             int number = i;
  19.  
  20.             if (number == 0)
  21.             {
  22.                 Console.WriteLine("zero"); // special case
  23.                
  24.             }
  25.  
  26.             int tens = (number / 10) % 10;
  27.             int hundreds = number / 100;
  28.  
  29.             int ones;
  30.             if (tens == 1)
  31.             {
  32.                 ones = number % 100; // these are the numbers between 10 and 19
  33.             }
  34.  
  35.             else
  36.             {
  37.                 ones = number % 10;
  38.             }
  39.  
  40.             switch (hundreds)
  41.             {
  42.                 case 1: Console.Write("one hundred");
  43.                     break;
  44.                 case 2: Console.Write("two hundred");
  45.                     break;
  46.                 case 3: Console.Write("three hundred");
  47.                     break;
  48.                 case 4: Console.Write("four hundred");
  49.                     break;
  50.                 case 5: Console.Write("five hundred");
  51.                     break;
  52.                 case 6: Console.Write("six hundred");
  53.                     break;
  54.                 case 7: Console.Write("seven hundred");
  55.                     break;
  56.                 case 8: Console.Write("eight hundred");
  57.                     break;
  58.                 case 9: Console.Write("nine hundred");
  59.                     break;
  60.             }
  61.  
  62.             if (hundreds > 0 && (tens != 0 || ones != 0))
  63.             {
  64.                 Console.Write(" and "); // add only if the number is not a round hundred
  65.             }
  66.             else if (hundreds > 0)
  67.             {
  68.                 Console.WriteLine(); // if it's round hundred move on to the next line
  69.             }
  70.  
  71.             switch (tens)
  72.             {
  73.                 case 2: Console.Write("twenty");
  74.                     break;
  75.                 case 3: Console.Write("thirty");
  76.                     break;
  77.                 case 4: Console.Write("forty");
  78.                     break;
  79.                 case 5: Console.Write("fifty");
  80.                     break;
  81.                 case 6: Console.Write("sixty");
  82.                     break;
  83.                 case 7: Console.Write("seventy");
  84.                     break;
  85.                 case 8: Console.Write("eighty");
  86.                     break;
  87.                 case 9: Console.Write("ninety");
  88.                     break;
  89.             }
  90.  
  91.             if (tens > 1 && ones != 0)
  92.             {
  93.                 Console.Write("-"); // add hyphen for numbers like forty-five
  94.             }
  95.             else if (tens > 1 && ones == 0)
  96.             {
  97.                 Console.WriteLine(); // if it's a round ten move on
  98.             }
  99.  
  100.             switch (ones)
  101.             {
  102.                 case 1: Console.WriteLine("one");
  103.                     break;
  104.                 case 2: Console.WriteLine("two");
  105.                     break;
  106.                 case 3: Console.WriteLine("three");
  107.                     break;
  108.                 case 4: Console.WriteLine("four");
  109.                     break;
  110.                 case 5: Console.WriteLine("five");
  111.                     break;
  112.                 case 6: Console.WriteLine("six");
  113.                     break;
  114.                 case 7: Console.WriteLine("seven");
  115.                     break;
  116.                 case 8: Console.WriteLine("eight");
  117.                     break;
  118.                 case 9: Console.WriteLine("nine");
  119.                     break;
  120.                 case 10: Console.WriteLine("ten");
  121.                     break;
  122.                 case 11: Console.WriteLine("eleven");
  123.                     break;
  124.                 case 12: Console.WriteLine("twelve");
  125.                     break;
  126.                 case 13: Console.WriteLine("thirteen");
  127.                     break;
  128.                 case 14: Console.WriteLine("fourteen");
  129.                     break;
  130.                 case 15: Console.WriteLine("fifteen");
  131.                     break;
  132.                 case 16: Console.WriteLine("sixteen");
  133.                     break;
  134.                 case 17: Console.WriteLine("seventeen");
  135.                     break;
  136.                 case 18: Console.WriteLine("eighteen");
  137.                     break;
  138.                 case 19: Console.WriteLine("nineteen");
  139.                     break;
  140.             }
  141.         }
  142.  
  143.     }
  144. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement