Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /*
- * * 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"
- */
- using System;
- class NumberEnglishPronunciation
- {
- static void Main()
- {
- while (true)
- {
- int number, hundreds = 0, tens = 0, digit = 0;
- string numberTxt = "0";
- string[] numbersTo19Text = { "zero", "one", "two", "three", "four", "five", "six", "seven", "eight", "nine",
- "ten", "eleven", "twelve", "thirteen", "fourteen", "fifteen", "sixteen", "seventeen", "eighteen", "nineteen"};
- string[] numbersTo100Text = { "", "", "twenty", "thirty", "fourty", "fifty", "sixty", "seventy", "eighty", "ninety" };
- number = InputData();
- hundreds = number / 100 % 10;
- tens = number / 10 % 10;
- digit = number % 10;
- if (number < 20)
- {
- numberTxt = numbersTo19Text[number];
- }
- else if (number >= 20 && number < 100)
- {
- if (digit != 0)
- {
- numberTxt = numbersTo100Text[tens] + " " + numbersTo19Text[digit];
- }
- else
- {
- numberTxt = numbersTo100Text[tens];
- }
- }
- else if (number != 100 && number != 200 && number != 300 && number != 400 && number != 500 && number != 600 && number != 700 && number != 800 && number != 900)
- {
- if (tens != 0 && tens > 1)
- {
- numberTxt = numbersTo19Text[hundreds] + " hundred and " + numbersTo100Text[tens] + " " + numbersTo19Text[digit];
- }
- else
- {
- numberTxt = numbersTo19Text[hundreds] + " hundred and " + numbersTo19Text[tens*10+digit];
- }
- }
- else
- {
- numberTxt = numbersTo19Text[hundreds] + " hundred";
- }
- OutputData(numberTxt);
- }
- }
- static int InputData()
- {
- int number;
- string invalidInput = "Please enter a value between 0 and 999" + Environment.NewLine;
- Console.WriteLine("Enter a number: ");
- while (!(int.TryParse(Console.ReadLine(), out number) && number >= 0 && number <= 999))
- {
- Console.WriteLine(invalidInput);
- Console.WriteLine("Enter a number: ");
- }
- return number;
- }
- static void OutputData(string numberTxt)
- {
- Console.WriteLine("Result: {0}" + Environment.NewLine, numberTxt);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment