Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Linq;
- using System.Text;
- namespace ThreeDigitNumberToString
- {
- class Program
- {
- private enum firstTwenty
- {
- zero, one, two, three, four, five, six, seven,
- eight, nine, ten, eleven, twelve, thirteen, fourteen, fifteen, sixteen, seventeen,
- eighteen, nineteen,
- };
- private enum tens {twenty = 2, thirty, fourty, fifty, sixty, seventy, eighty, ninety };
- static void Main(string[] args)
- {
- int number = EnterThreeDigitNumber();
- ConvertNumberToText(number);
- }
- static int EnterThreeDigitNumber ()
- {
- int number;
- do
- {
- Console.Write("Enter valid number in the interval [0-999]: ");
- } while (!int.TryParse(Console.ReadLine(), out number) || number < 0 || number > 999);
- return number;
- }
- static void ConvertNumberToText(int number)
- {
- int hundredsRemainder = number / 100;
- int tensRemainder = number % 100 / 10;
- int tensValue = number % 100;
- int ones = number % 100 % 10;
- string onesText = (ones != 0 ? ((firstTwenty)ones).ToString() : "");
- string tensText = (tensRemainder != 0 ? (" and " + (firstTwenty)tensValue).ToString() : "");
- //Numbers bigger than 100
- if (hundredsRemainder != 0)
- {
- if (tensRemainder < 2)
- {
- // (firstTwenty)hundredsRemainder allows access to member of enum by index.
- Console.WriteLine((firstTwenty)hundredsRemainder + " hundred " + tensText);
- }
- else
- {
- Console.WriteLine((firstTwenty)hundredsRemainder + " hundred " + " and "
- + (tens)tensRemainder + " " + onesText);
- }
- }
- //Numbers smaller than 100
- else
- {
- if (tensRemainder < 2)
- {
- Console.WriteLine((firstTwenty)tensValue);
- }
- else
- {
- Console.WriteLine((tens)tensRemainder + " " + onesText);
- }
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement