Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- class WriteInEnglishNumberNames
- {
- static void Main()
- {
- //* Write a program that converts a number in the range [0...999] to a text corresponding to its English pronunciation. Examples:
- //0 -> "Zero"
- //273 ->"Two hundred seventy three"
- //400 -> "Four hundred"
- //501 -> "Five hundred and one"
- //711 -> "Seven hundred and eleven"
- Console.Write("Please enter an integer number in the range [0, 999]: ");
- string userInput = Console.ReadLine();
- int numberToWrite;
- bool isCorrectInput = int.TryParse(userInput, out numberToWrite);
- string[] arrayZeroToNineteen = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine", "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen" };
- string[] arrayTens = {"twenty", "thirty", "fourty", "fifty", "sixty", "seventy", "eighty", "ninety", "hundred" };
- if (isCorrectInput)
- {
- if (numberToWrite >= 0 && numberToWrite < 100)
- {
- if (numberToWrite >= 0 && numberToWrite <= 19) { Console.WriteLine("{0}", arrayZeroToNineteen[numberToWrite]); }
- if (numberToWrite == 20 || numberToWrite == 30 || numberToWrite == 40 || numberToWrite == 50 || numberToWrite == 60 || numberToWrite == 70 || numberToWrite == 80 || numberToWrite == 90 || numberToWrite == 100) { Console.WriteLine("{0}", arrayTens[((numberToWrite / 10) - 2)]); }
- if (numberToWrite > 20 && numberToWrite < 100) { Console.WriteLine("{0}-{1}", arrayTens[((numberToWrite / 10) - 2)], arrayZeroToNineteen[numberToWrite % 10]); }
- }
- else if (numberToWrite == 100 || numberToWrite == 200 || numberToWrite == 300 || numberToWrite == 400 || numberToWrite == 500 || numberToWrite == 600 || numberToWrite == 700 || numberToWrite == 800 || numberToWrite == 900)
- {
- Console.WriteLine("{0} hundred", arrayZeroToNineteen[(numberToWrite / 100)]);
- }
- else if (numberToWrite > 100 && numberToWrite < 1000)
- {
- switch (numberToWrite % 100)
- {
- case 1:
- case 2:
- case 3:
- case 4:
- case 5:
- case 6:
- case 7:
- case 8:
- case 9:
- case 10:
- case 11:
- case 12:
- case 13:
- case 14:
- case 15:
- case 16:
- case 17:
- case 18:
- case 19:
- Console.WriteLine("{0} hundred and {1}", arrayZeroToNineteen[((numberToWrite / 100) + 1)], arrayZeroToNineteen[(numberToWrite % 100) + 1]);
- break;
- case 20:
- case 30:
- case 40:
- case 50:
- case 60:
- case 70:
- case 80:
- case 90:
- Console.WriteLine("{0} hundred and {1}", arrayZeroToNineteen[(numberToWrite / 100)], arrayTens[(((numberToWrite % 100) / 10) - 2)]);
- break;
- default:
- Console.WriteLine("{0} hundred and {1}-{2}", arrayZeroToNineteen[(numberToWrite / 100)], arrayTens[(((numberToWrite % 100) / 10) - 2)], arrayZeroToNineteen[(numberToWrite % 100) % 10]);
- break;
- }
- }
- else
- {
- Console.WriteLine("Incorrect input! You should enter a number between 0 and 999!");
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement