Advertisement
Ludmil

C# Condition Problem 11 NumAsWord

Mar 26th, 2014
189
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 5.21 KB | None | 0 0
  1. using System;
  2. /*Problem 11.   * Number as Words
  3. Write a program that converts a number in the range [0…999] to words,
  4.  * corresponding to the English pronunciation. */
  5. // NOTE doesn't start with capital Letter !!!
  6. // methods would be f up
  7. //reusable code
  8. //NOTE Two hundredS s-missed in the example
  9. class Program
  10. {
  11.     static void Main()
  12.     {
  13.         int number = 501;
  14.         int once = 0;
  15.         int tens = 0;
  16.         int hundreds = 0;
  17.         once = number % 10;
  18.         number /= 10;
  19.         tens = number % 10;
  20.         number /= 10;
  21.         hundreds = number % 10;
  22.        
  23.  
  24.         if (hundreds == 0 && tens == 0 && once >= 0) // o-9
  25.         {
  26.             if (once == 0)
  27.             {
  28.                 Console.WriteLine("zero");
  29.             }
  30.             else
  31.             {
  32.                 Once(once);
  33.                 Console.WriteLine();
  34.             }
  35.         }
  36.         else
  37.         if (hundreds == 0 && tens == 1 && once >= 0) // 10-19
  38.         {
  39.             Teens(once);
  40.             Console.WriteLine();
  41.         }
  42.         else if (hundreds == 0 && (tens > 1 || once >= 0)) // tens 20 -90
  43.         {
  44.             TwentyNinty(tens);
  45.             Once(once);
  46.             Console.WriteLine();
  47.         }
  48.         else
  49.         if (hundreds > 0 && (tens >= 0 || once >= 0)) // tens 100 -900
  50.         {
  51.             if (hundreds == 1)
  52.             {
  53.                 Console.Write("a hundred ");
  54.                 AddAndAfterhundreds(once, tens);                                                                
  55.             }                                                                          
  56.             else if (hundreds > 1)
  57.             {
  58.                 Once(hundreds);
  59.                 Console.Write(" hundreds ");
  60.                 AddAndAfterhundreds(once, tens);
  61.             }
  62.             Console.WriteLine();
  63.         }
  64.     }
  65.  
  66.     private static void AddAndAfterhundreds(int once, int tens)
  67.     {
  68.         if (tens == 0 && once != 0)
  69.         {
  70.             Console.Write(" and ");
  71.             Once(once);
  72.             Console.WriteLine();
  73.         }
  74.         else if (tens == 1)
  75.         {
  76.             if (once == 0)
  77.             {
  78.                 Console.Write(" and ");
  79.                 Teens(once);
  80.                 Console.WriteLine();
  81.             }
  82.             else if (once > 0)
  83.             {
  84.                 Teens(once);
  85.                 Console.WriteLine();
  86.             }
  87.         }
  88.         else if (tens > 1 && once != 0)
  89.         {
  90.             TwentyNinty(tens);
  91.             Once(once);
  92.             Console.WriteLine();
  93.         }
  94.         else if (tens > 1 && once == 0)
  95.         {
  96.             Console.Write(" and ");
  97.             TwentyNinty(tens);
  98.         }
  99.     }
  100.  
  101.     private static void TwentyNinty(int tens)
  102.     {
  103.         switch (tens)
  104.         {
  105.             //case 0: Console.Write("ten");
  106.             //    break;
  107.             //case 1: Console.Write("eleven");
  108.             //    break;
  109.             case 2: Console.Write("twenty");
  110.                 break;
  111.             case 3: Console.Write("thirty");
  112.                 break;
  113.             case 4: Console.Write("fourtey");
  114.                 break;
  115.             case 5: Console.Write("fifty");
  116.                 break;
  117.             case 6: Console.Write("sixty");
  118.                 break;
  119.             case 7: Console.Write("seventy");
  120.                 break;
  121.             case 8: Console.Write("eighty");
  122.                 break;
  123.             case 9: Console.Write("ninty");
  124.                 break;
  125.             default:
  126.                 Console.Write("");
  127.                 break;
  128.         }
  129.     }
  130.     private static void Teens(int once)
  131.     {
  132.         switch (once)
  133.         {
  134.             case 0: Console.Write("ten");
  135.                 break;
  136.             case 1: Console.Write("eleven");
  137.                 break;
  138.             case 2: Console.Write("twelve");
  139.                 break;
  140.             case 3: Console.Write("thirteen");
  141.                 break;
  142.             case 4: Console.Write("fourteen");
  143.                 break;
  144.             case 5: Console.Write("fifteen");
  145.                 break;
  146.             case 6: Console.Write("sixteen");
  147.                 break;
  148.             case 7: Console.Write("seventeen");
  149.                 break;
  150.             case 8: Console.Write("eighteen");
  151.                 break;
  152.             case 9: Console.Write("ninteen");
  153.                 break;
  154.             default:
  155.                 break;
  156.         }
  157.     }
  158.     private static void Once(int once)
  159.     {
  160.         switch (once)
  161.         {
  162.             case 0: Console.Write("");
  163.                 break;
  164.             case 1: Console.Write("one");
  165.                 break;
  166.             case 2: Console.Write("two");
  167.                 break;
  168.             case 3: Console.Write("tree");
  169.                 break;
  170.             case 4: Console.Write("four");
  171.                 break;
  172.             case 5: Console.Write("five");
  173.                 break;
  174.             case 6: Console.Write("six");
  175.                 break;
  176.             case 7: Console.Write("seven");
  177.                 break;
  178.             case 8: Console.Write("eight");
  179.                 break;
  180.             case 9: Console.Write("nine");
  181.                 break;
  182.             default:
  183.                 break;
  184.         }
  185.     }
  186. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement