Advertisement
stefanpu

Untitled

Nov 18th, 2012
89
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 2.39 KB | None | 0 0
  1. using System;
  2. using System.Linq;
  3. using System.Text;
  4.  
  5.  
  6. namespace ThreeDigitNumberToString
  7. {
  8.     class Program
  9.     {
  10.         private enum firstTwenty
  11.         {
  12.             zero, one, two, three, four, five, six, seven,
  13.             eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen, seventeen,
  14.             eighteen, nineteen,
  15.         };
  16.  
  17.         private enum tens {twenty = 2, thirty, fourty, fifty, sixty, seventy, eighty, ninety };        
  18.  
  19.         static void Main(string[] args)
  20.         {
  21.             int number = EnterThreeDigitNumber();
  22.             ConvertNumberToText(number);
  23.         }
  24.  
  25.         static int EnterThreeDigitNumber ()
  26.         {                      
  27.             int number;
  28.  
  29.             do
  30.             {
  31.                 Console.Write("Enter valid number in the interval [0-999]: ");
  32.  
  33.             } while (!int.TryParse(Console.ReadLine(), out number) || number < 0 || number > 999);
  34.  
  35.             return number;
  36.         }
  37.  
  38.         static void ConvertNumberToText(int number)
  39.         {
  40.             int hundredsRemainder = number / 100;
  41.             int tensRemainder = number % 100 / 10;
  42.             int tensValue = number % 100;
  43.             int ones = number % 100 % 10;
  44.  
  45.             string onesText = (ones != 0 ? ((firstTwenty)ones).ToString() : "");
  46.             string tensText = (tensRemainder != 0 ? (" and " + (firstTwenty)tensValue).ToString() : "");
  47.  
  48.             //Numbers bigger than 100
  49.             if (hundredsRemainder != 0)
  50.             {
  51.                 if (tensRemainder < 2)
  52.                 {
  53.                     // (firstTwenty)hundredsRemainder allows access to member of enum by index.
  54.                     Console.WriteLine((firstTwenty)hundredsRemainder + " hundred " + tensText);
  55.                 }
  56.  
  57.                 else
  58.                 {
  59.                     Console.WriteLine((firstTwenty)hundredsRemainder + " hundred " + " and "
  60.                         + (tens)tensRemainder + " " + onesText);
  61.                 }
  62.             }
  63.  
  64.             //Numbers smaller than 100
  65.             else
  66.             {
  67.                 if (tensRemainder < 2)
  68.                 {
  69.                     Console.WriteLine((firstTwenty)tensValue);
  70.                 }
  71.                 else
  72.                 {
  73.                     Console.WriteLine((tens)tensRemainder + " " + onesText);
  74.                 }
  75.             }
  76.         }
  77.     }
  78. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement