Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- class NumbersAsWords
- {
- static void Main()
- {
- int i = 0;
- while (i < 1000)
- {
- Console.WriteLine("\n\nPlease, enter a number (0-999) !\n");
- int number;
- string[] word = new string[10]; //words starting with low case letter
- string[] wordCap = new string[10]; //words starting with capital letter
- bool result = int.TryParse(Console.ReadLine(), out number);
- if (result == false || number < 0 || number > 999)
- {
- Console.WriteLine("\nInvalid input!\n");
- Main();
- }
- else
- {
- // geting the values of the digits of the number
- int[] digit = new int[3];
- digit[0] = number % 10;
- digit[1] = number % 100 / 10;
- digit[2] = number / 100;
- // assigning a word to a digit(word starts with a low case letter)
- for (i = 0; i < 3; i++)
- {
- switch (digit[i])
- {
- case 1:
- {
- word[i] = "one";
- }
- break;
- case 2:
- {
- word[i] = "two";
- }
- break;
- case 3:
- {
- word[i] = "three";
- }
- break;
- case 4:
- {
- word[i] = "four";
- }
- break;
- case 5:
- {
- word[i] = "five";
- }
- break;
- case 6:
- {
- word[i] = "six";
- }
- break;
- case 7:
- {
- word[i] = "seven";
- }
- break;
- case 8:
- {
- word[i] = "eight";
- }
- break;
- case 9:
- {
- word[i] = "nine";
- }
- break;
- }
- }
- // assigning a word to a digit(word starts with an upper case letter)
- for (i = 0; i < 3; i++)
- {
- switch (digit[i])
- {
- case 0:
- {
- wordCap[i] = "Zero";
- }
- break;
- case 1:
- {
- wordCap[i] = "One";
- }
- break;
- case 2:
- {
- wordCap[i] = "Two";
- }
- break;
- case 3:
- {
- wordCap[i] = "Three";
- }
- break;
- case 4:
- {
- wordCap[i] = "Four";
- }
- break;
- case 5:
- {
- wordCap[i] = "Five";
- }
- break;
- case 6:
- {
- wordCap[i] = "Six";
- }
- break;
- case 7:
- {
- wordCap[i] = "Seven";
- }
- break;
- case 8:
- {
- wordCap[i] = "Eight";
- }
- break;
- case 9:
- {
- wordCap[i] = "Nine";
- }
- break;
- }
- }
- Console.WriteLine();
- if (digit[2] == 0 && digit[1] == 0) //digit[0]!=0 - one digit number
- {
- Console.Write("{0}", wordCap[0]);
- }
- else if (digit[2] == 0) // digit[0]!=0 && digit[1]!=0 - two digits number
- {
- switch (digit[1])
- {
- case 1:
- word[1] = "ten";
- break;
- case 2:
- word[1] = "twenty";
- break;
- case 3:
- word[1] = "thirty";
- break;
- case 4:
- word[1] = "forty";
- break;
- case 5:
- word[1] = "fifty";
- break;
- case 6:
- word[1] = "sixty";
- break;
- case 7:
- word[1] = "seventy";
- break;
- case 8:
- word[1] = ("eighty");
- break;
- case 9:
- word[1] = ("ninety");
- break;
- }
- switch (digit[1])
- {
- case 1:
- wordCap[1] = ("Ten");
- break;
- case 2:
- wordCap[1] = ("Twenty");
- break;
- case 3:
- wordCap[1] = ("Thirty");
- break;
- case 4:
- wordCap[1] = ("Forty");
- break;
- case 5:
- wordCap[1] = ("Fifty");
- break;
- case 6:
- wordCap[1] = ("Sixty");
- break;
- case 7:
- wordCap[1] = ("Seventy");
- break;
- case 8:
- wordCap[1] = ("Eighty");
- break;
- case 9:
- wordCap[1] = ("Ninety");
- break;
- }
- if (digit[0]==0)
- {
- Console.WriteLine("{0}", wordCap[1]);
- }
- else if (digit[1]==1) //digit[0]!=0 and digit[1]==1
- {
- switch(digit[0])
- {
- case 1:
- Console.WriteLine("Eleven");
- break;
- case 2:
- Console.WriteLine("Twelve");
- break;
- case 3:
- Console.WriteLine("Thirteen");
- break;
- case 5:
- Console.WriteLine("Fifteen");
- break;
- case 8:
- Console.WriteLine("Eighteen");
- break;
- default:
- Console.WriteLine("{0}{1}", wordCap[0],"teen");
- break;
- }
- }
- else//digit[1]= 2,3,4,6,7,9
- {
- Console.WriteLine("{0} {1}", wordCap[1], word[0]);
- }
- }
- else // three digits number
- {
- if(digit[1]==0 && digit[0]==0) //2 zeroes at the end
- {
- Console.WriteLine("{0} hundred", wordCap[2]);
- }
- else if(digit[1]==0) // zero in the middle: digit:0:digit
- {
- Console.WriteLine("{0} hundred and {1}", wordCap[2],word[0]);
- }
- else if (digit[0] == 0) //10,20,30,40,50,60,70,80,90 at the end
- {
- switch (digit[1])
- {
- case 1:
- word[1] = ("ten");
- break;
- case 2:
- word[1] = ("twenty");
- break;
- case 3:
- word[1] = ("thirty");
- break;
- case 4:
- word[1] = ("forty");
- break;
- case 5:
- word[1] = ("fifty");
- break;
- case 6:
- word[1] = ("sixty");
- break;
- case 7:
- word[1] = ("seventy");
- break;
- case 8:
- word[1] = ("eighty");
- break;
- case 9:
- word[1] = ("ninety");
- break;
- }
- Console.WriteLine("{0} hundert and {1}", wordCap[2], word[1]);
- }
- else if (digit[1]==1)//finishing on 11,12,13,14,15,16,17,18,19
- {
- switch (digit[0])
- {
- case 1:
- Console.WriteLine("{0} hundred and {1}", wordCap[2],"eleven");
- break;
- case 2:
- Console.WriteLine("{0} hundred and {1}", wordCap[2],"twelve");
- break;
- case 3:
- Console.WriteLine("{0} hundred and {1}", wordCap[2],"thirteen");
- break;
- case 5:
- Console.WriteLine("{0} hundred and {1}", wordCap[2],"fifteen");
- break;
- case 8:
- Console.WriteLine("{0} hundred and {1}", wordCap[2],"eighteen");
- break;
- default:
- Console.WriteLine("{0} hundered and {1}{2}",wordCap[2], word[0],"teen");
- break;
- }
- }
- else // default three digits
- {
- switch (digit[1])
- {
- case 1:
- word[1] = ("ten");
- break;
- case 2:
- word[1] = ("twenty");
- break;
- case 3:
- word[1] = ("thirty");
- break;
- case 4:
- word[1] = ("forty");
- break;
- case 5:
- word[1] = ("fifty");
- break;
- case 6:
- word[1] = ("sixty");
- break;
- case 7:
- word[1] = ("seventy");
- break;
- case 8:
- word[1] = ("eighty");
- break;
- case 9:
- word[1] = ("ninety");
- break;
- }
- Console.WriteLine("{0} hundert and {1} {2}", wordCap[2], word[1], word[0]);
- Console.WriteLine();
- }
- }
- }
- Console.WriteLine();
- }
- i++;
- }
- }
- /* Console.Write("Enter a number [0…999] : ");
- ushort num;
- if (!ushort.TryParse(Console.ReadLine(), out num))
- {
- Console.WriteLine("The input isn't a number!");
- }
- else
- {
- if ((num > 99) && (num < 1000))
- {
- Console.WriteLine(
- (double)num / (num / 100) == 100 ?
- UppercaseFirst(words[num / 100]) + " " + words[words.Length - 1] :
- UppercaseFirst(words[num / 100]) + " " + words[words.Length - 1] + " " +
- (num % 100 / 10 == 0 ? "and" + " " + words[num % 10] : (num % 100 < 21 ? "and " +
- words[(num % 100)] : "and " + words[18 + (num % 100 / 10)] + " " + (num % 10 != 0 ? words[num % 10] : " "))));
- }
- else if (num < 100)
- {
- Console.WriteLine(num % 100 / 10 == 0 ?
- UppercaseFirst(words[num % 10]) : (num < 21 ? UppercaseFirst(words[num]) :
- UppercaseFirst(words[18 + (num % 100 / 10)]) + " " +
- (num % 10 != 0 ? words[num % 10] : " ")));
- }
- else
- {
- Console.WriteLine("The number is bigger then 1000!");
- }
- }*/
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement