Created
August 28, 2013 21:03
-
-
Save bobixaka/6371243 to your computer and use it in GitHub Desktop.
Convert any number in text. Spell the numbers.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
using System; | |
using System.Globalization; | |
using System.Threading; | |
namespace Task_11_NumberTextConverter | |
{ | |
class Number2TextConverter | |
{ | |
static int Thousants; | |
static int Hundreds; | |
static int Tens; | |
static int Ones; | |
static decimal Decimals; | |
static int DecimalTens; | |
static int DecimalOnes; | |
static void SwitchDecimals() | |
{ | |
switch (DecimalTens) | |
{ | |
case 0: Console.Write("Zero "); | |
switch (DecimalOnes) | |
{ | |
case 0: Console.WriteLine("Zero!"); | |
break; | |
case 1: Console.WriteLine("One!"); | |
break; | |
case 2: Console.WriteLine("Two!"); | |
break; | |
case 3: Console.WriteLine("Three!"); | |
break; | |
case 4: Console.WriteLine("Four!"); | |
break; | |
case 5: Console.WriteLine("Five!"); | |
break; | |
case 6: Console.WriteLine("Six!"); | |
break; | |
case 7: Console.WriteLine("Seven!"); | |
break; | |
case 8: Console.WriteLine("Eight!"); | |
break; | |
case 9: Console.WriteLine("Nine!"); | |
break; | |
default: Console.WriteLine("\nError!"); | |
break; | |
} | |
break; | |
case 1: | |
switch (DecimalOnes) | |
{ | |
case 0: Console.WriteLine("Ten!"); | |
break; | |
case 1: Console.WriteLine("Eleven!"); | |
break; | |
case 2: Console.WriteLine("Twelve!"); | |
break; | |
case 3: Console.WriteLine("Thirteen!"); | |
break; | |
case 4: Console.WriteLine("Fourteen!"); | |
break; | |
case 5: Console.WriteLine("Fifteen!"); | |
break; | |
case 6: Console.WriteLine("Sixteen!"); | |
break; | |
case 7: Console.WriteLine("Seventeen!"); | |
break; | |
case 8: Console.WriteLine("Eighteen!"); | |
break; | |
case 9: Console.WriteLine("Nineteen!"); | |
break; | |
default: Console.WriteLine("\nError!"); | |
break; | |
} | |
break; | |
case 2: Console.Write("Twenty "); | |
switch (DecimalOnes) | |
{ | |
case 0: Console.WriteLine(); | |
break; | |
case 1: Console.WriteLine("One!"); | |
break; | |
case 2: Console.WriteLine("Two!"); | |
break; | |
case 3: Console.WriteLine("Three!"); | |
break; | |
case 4: Console.WriteLine("Four!"); | |
break; | |
case 5: Console.WriteLine("Five!"); | |
break; | |
case 6: Console.WriteLine("Six!"); | |
break; | |
case 7: Console.WriteLine("Seven!"); | |
break; | |
case 8: Console.WriteLine("Eight!"); | |
break; | |
case 9: Console.WriteLine("Nine!"); | |
break; | |
default: Console.WriteLine("\nError!"); | |
break; | |
} | |
break; | |
case 3: Console.Write("Thirty "); | |
switch (DecimalOnes) | |
{ | |
case 0: Console.WriteLine(); | |
break; | |
case 1: Console.WriteLine("One!"); | |
break; | |
case 2: Console.WriteLine("Two!"); | |
break; | |
case 3: Console.WriteLine("Three!"); | |
break; | |
case 4: Console.WriteLine("Four!"); | |
break; | |
case 5: Console.WriteLine("Five!"); | |
break; | |
case 6: Console.WriteLine("Six!"); | |
break; | |
case 7: Console.WriteLine("Seven!"); | |
break; | |
case 8: Console.WriteLine("Eight!"); | |
break; | |
case 9: Console.WriteLine("Nine!"); | |
break; | |
default: Console.WriteLine("\nError!"); | |
break; | |
} | |
break; | |
case 4: Console.Write("Fourty "); | |
switch (DecimalOnes) | |
{ | |
case 0: Console.WriteLine(); | |
break; | |
case 1: Console.WriteLine("One!"); | |
break; | |
case 2: Console.WriteLine("Two!"); | |
break; | |
case 3: Console.WriteLine("Three!"); | |
break; | |
case 4: Console.WriteLine("Four!"); | |
break; | |
case 5: Console.WriteLine("Five!"); | |
break; | |
case 6: Console.WriteLine("Six!"); | |
break; | |
case 7: Console.WriteLine("Seven!"); | |
break; | |
case 8: Console.WriteLine("Eight!"); | |
break; | |
case 9: Console.WriteLine("Nine!"); | |
break; | |
default: Console.WriteLine("\nError!"); | |
break; | |
} | |
break; | |
case 5: Console.Write("Fifty "); | |
switch (DecimalOnes) | |
{ | |
case 0: Console.WriteLine(); | |
break; | |
case 1: Console.WriteLine("One!"); | |
break; | |
case 2: Console.WriteLine("Two!"); | |
break; | |
case 3: Console.WriteLine("Three!"); | |
break; | |
case 4: Console.WriteLine("Four!"); | |
break; | |
case 5: Console.WriteLine("Five!"); | |
break; | |
case 6: Console.WriteLine("Six!"); | |
break; | |
case 7: Console.WriteLine("Seven!"); | |
break; | |
case 8: Console.WriteLine("Eight!"); | |
break; | |
case 9: Console.WriteLine("Nine!"); | |
break; | |
default: Console.WriteLine("\nError!"); | |
break; | |
} | |
break; | |
case 6: Console.Write("Sixty "); | |
switch (DecimalOnes) | |
{ | |
case 0: Console.WriteLine(); | |
break; | |
case 1: Console.WriteLine("One!"); | |
break; | |
case 2: Console.WriteLine("Two!"); | |
break; | |
case 3: Console.WriteLine("Three!"); | |
break; | |
case 4: Console.WriteLine("Four!"); | |
break; | |
case 5: Console.WriteLine("Five!"); | |
break; | |
case 6: Console.WriteLine("Six!"); | |
break; | |
case 7: Console.WriteLine("Seven!"); | |
break; | |
case 8: Console.WriteLine("Eight!"); | |
break; | |
case 9: Console.WriteLine("Nine!"); | |
break; | |
default: Console.WriteLine("\nError!"); | |
break; | |
} | |
break; | |
case 7: Console.Write("Seventy "); | |
switch (DecimalOnes) | |
{ | |
case 0: Console.WriteLine(); | |
break; | |
case 1: Console.WriteLine("One!"); | |
break; | |
case 2: Console.WriteLine("Two!"); | |
break; | |
case 3: Console.WriteLine("Three!"); | |
break; | |
case 4: Console.WriteLine("Four!"); | |
break; | |
case 5: Console.WriteLine("Five!"); | |
break; | |
case 6: Console.WriteLine("Six!"); | |
break; | |
case 7: Console.WriteLine("Seven!"); | |
break; | |
case 8: Console.WriteLine("Eight!"); | |
break; | |
case 9: Console.WriteLine("Nine!"); | |
break; | |
default: Console.WriteLine("\nError!"); | |
break; | |
} | |
break; | |
case 8: Console.Write("Eighty "); | |
switch (DecimalOnes) | |
{ | |
case 0: Console.WriteLine(); | |
break; | |
case 1: Console.WriteLine("One!"); | |
break; | |
case 2: Console.WriteLine("Two!"); | |
break; | |
case 3: Console.WriteLine("Three!"); | |
break; | |
case 4: Console.WriteLine("Four!"); | |
break; | |
case 5: Console.WriteLine("Five!"); | |
break; | |
case 6: Console.WriteLine("Six!"); | |
break; | |
case 7: Console.WriteLine("Seven!"); | |
break; | |
case 8: Console.WriteLine("Eight!"); | |
break; | |
case 9: Console.WriteLine("Nine!"); | |
break; | |
default: Console.WriteLine("\nError!"); | |
break; | |
} | |
break; | |
case 9: Console.Write("Ninety "); | |
switch (DecimalOnes) | |
{ | |
case 0: Console.WriteLine(); | |
break; | |
case 1: Console.WriteLine("One!"); | |
break; | |
case 2: Console.WriteLine("Two!"); | |
break; | |
case 3: Console.WriteLine("Three!"); | |
break; | |
case 4: Console.WriteLine("Four!"); | |
break; | |
case 5: Console.WriteLine("Five!"); | |
break; | |
case 6: Console.WriteLine("Six!"); | |
break; | |
case 7: Console.WriteLine("Seven!"); | |
break; | |
case 8: Console.WriteLine("Eight!"); | |
break; | |
case 9: Console.WriteLine("Nine!"); | |
break; | |
default: Console.WriteLine("\nError!"); | |
break; | |
} | |
break; | |
default: Console.WriteLine("\nError!"); | |
break; | |
} | |
} | |
static void SwitchTensAndDecimals() | |
{ | |
switch (Tens) | |
{ | |
case 0: | |
switch (Ones) | |
{ | |
case 0: Console.Write("Zero point "); | |
SwitchDecimals(); | |
break; | |
case 1: Console.Write("One point "); | |
SwitchDecimals(); | |
break; | |
case 2: Console.Write("Two point "); | |
SwitchDecimals(); | |
break; | |
case 3: Console.Write("Three point "); | |
SwitchDecimals(); | |
break; | |
case 4: Console.Write("Four point "); | |
SwitchDecimals(); | |
break; | |
case 5: Console.Write("Five point "); | |
SwitchDecimals(); | |
break; | |
case 6: Console.Write("Six point "); | |
SwitchDecimals(); | |
break; | |
case 7: Console.Write("Seven point "); | |
SwitchDecimals(); | |
break; | |
case 8: Console.Write("Eight point "); | |
SwitchDecimals(); | |
break; | |
case 9: Console.Write("Nine point "); | |
SwitchDecimals(); | |
break; | |
default: Console.WriteLine("\nError!"); | |
break; | |
} | |
break; | |
case 1: | |
switch (Ones) | |
{ | |
case 0: Console.Write("Ten point "); | |
SwitchDecimals(); | |
break; | |
case 1: Console.Write("Eleven point "); | |
SwitchDecimals(); | |
break; | |
case 2: Console.Write("Twelve point "); | |
SwitchDecimals(); | |
break; | |
case 3: Console.Write("Thirteen point "); | |
SwitchDecimals(); | |
break; | |
case 4: Console.Write("Fourteen point "); | |
SwitchDecimals(); | |
break; | |
case 5: Console.Write("Fifteen point "); | |
SwitchDecimals(); | |
break; | |
case 6: Console.Write("Sixteen point "); | |
SwitchDecimals(); | |
break; | |
case 7: Console.Write("Seventeen point "); | |
SwitchDecimals(); | |
break; | |
case 8: Console.Write("Eighteen point "); | |
SwitchDecimals(); | |
break; | |
case 9: Console.Write("Nineteen point "); | |
SwitchDecimals(); | |
break; | |
default: Console.WriteLine("\nError!"); | |
break; | |
} | |
break; | |
case 2: Console.Write("Twenty "); | |
switch (Ones) | |
{ | |
case 0: Console.Write("point "); | |
SwitchDecimals(); | |
break; | |
case 1: Console.Write("One point "); | |
SwitchDecimals(); | |
break; | |
case 2: Console.Write("Two point "); | |
SwitchDecimals(); | |
break; | |
case 3: Console.Write("Three point "); | |
SwitchDecimals(); | |
break; | |
case 4: Console.Write("Four point "); | |
SwitchDecimals(); | |
break; | |
case 5: Console.Write("Five point "); | |
SwitchDecimals(); | |
break; | |
case 6: Console.Write("Six point "); | |
SwitchDecimals(); | |
break; | |
case 7: Console.Write("Seven point "); | |
SwitchDecimals(); | |
break; | |
case 8: Console.Write("Eight point "); | |
SwitchDecimals(); | |
break; | |
case 9: Console.Write("Nine point "); | |
SwitchDecimals(); | |
break; | |
default: Console.Write("\nError!"); | |
break; | |
} | |
break; | |
case 3: Console.Write("Thirty "); | |
switch (Ones) | |
{ | |
case 0: Console.Write("point "); | |
SwitchDecimals(); | |
break; | |
case 1: Console.Write("One point "); | |
SwitchDecimals(); | |
break; | |
case 2: Console.Write("Two point "); | |
SwitchDecimals(); | |
break; | |
case 3: Console.Write("Three point "); | |
SwitchDecimals(); | |
break; | |
case 4: Console.Write("Four point "); | |
SwitchDecimals(); | |
break; | |
case 5: Console.Write("Five point "); | |
SwitchDecimals(); | |
break; | |
case 6: Console.Write("Six point "); | |
SwitchDecimals(); | |
break; | |
case 7: Console.Write("Seven point "); | |
SwitchDecimals(); | |
break; | |
case 8: Console.Write("Eight point "); | |
SwitchDecimals(); | |
break; | |
case 9: Console.Write("Nine point "); | |
SwitchDecimals(); | |
break; | |
default: Console.Write("\nError!"); | |
break; | |
} | |
break; | |
case 4: Console.Write("Fourty "); | |
switch (Ones) | |
{ | |
case 0: Console.Write("point "); | |
SwitchDecimals(); | |
break; | |
case 1: Console.Write("One point "); | |
SwitchDecimals(); | |
break; | |
case 2: Console.Write("Two point "); | |
SwitchDecimals(); | |
break; | |
case 3: Console.Write("Three point "); | |
SwitchDecimals(); | |
break; | |
case 4: Console.Write("Four point "); | |
SwitchDecimals(); | |
break; | |
case 5: Console.Write("Five point "); | |
SwitchDecimals(); | |
break; | |
case 6: Console.Write("Six point "); | |
SwitchDecimals(); | |
break; | |
case 7: Console.Write("Seven point "); | |
SwitchDecimals(); | |
break; | |
case 8: Console.Write("Eight point "); | |
SwitchDecimals(); | |
break; | |
case 9: Console.Write("Nine point "); | |
SwitchDecimals(); | |
break; | |
default: Console.Write("\nError!"); | |
break; | |
} | |
break; | |
case 5: Console.Write("Fifty "); | |
switch (Ones) | |
{ | |
case 0: Console.Write("point "); | |
SwitchDecimals(); | |
break; | |
case 1: Console.Write("One point "); | |
SwitchDecimals(); | |
break; | |
case 2: Console.Write("Two point "); | |
SwitchDecimals(); | |
break; | |
case 3: Console.Write("Three point "); | |
SwitchDecimals(); | |
break; | |
case 4: Console.Write("Four point "); | |
SwitchDecimals(); | |
break; | |
case 5: Console.Write("Five point "); | |
SwitchDecimals(); | |
break; | |
case 6: Console.Write("Six point "); | |
SwitchDecimals(); | |
break; | |
case 7: Console.Write("Seven point "); | |
SwitchDecimals(); | |
break; | |
case 8: Console.Write("Eight point "); | |
SwitchDecimals(); | |
break; | |
case 9: Console.Write("Nine point "); | |
SwitchDecimals(); | |
break; | |
default: Console.Write("\nError!"); | |
break; | |
} | |
break; | |
case 6: Console.Write("Sixty "); | |
switch (Ones) | |
{ | |
case 0: Console.Write("point "); | |
SwitchDecimals(); | |
break; | |
case 1: Console.Write("One point "); | |
SwitchDecimals(); | |
break; | |
case 2: Console.Write("Two point "); | |
SwitchDecimals(); | |
break; | |
case 3: Console.Write("Three point "); | |
SwitchDecimals(); | |
break; | |
case 4: Console.Write("Four point "); | |
SwitchDecimals(); | |
break; | |
case 5: Console.Write("Five point "); | |
SwitchDecimals(); | |
break; | |
case 6: Console.Write("Six point "); | |
SwitchDecimals(); | |
break; | |
case 7: Console.Write("Seven point "); | |
SwitchDecimals(); | |
break; | |
case 8: Console.Write("Eight point "); | |
SwitchDecimals(); | |
break; | |
case 9: Console.Write("Nine point "); | |
SwitchDecimals(); | |
break; | |
default: Console.Write("\nError!"); | |
break; | |
} | |
break; | |
case 7: Console.Write("Seventy "); | |
switch (Ones) | |
{ | |
case 0: Console.Write("point "); | |
SwitchDecimals(); | |
break; | |
case 1: Console.Write("One point "); | |
SwitchDecimals(); | |
break; | |
case 2: Console.Write("Two point "); | |
SwitchDecimals(); | |
break; | |
case 3: Console.Write("Three point "); | |
SwitchDecimals(); | |
break; | |
case 4: Console.Write("Four point "); | |
SwitchDecimals(); | |
break; | |
case 5: Console.Write("Five point "); | |
SwitchDecimals(); | |
break; | |
case 6: Console.Write("Six point "); | |
SwitchDecimals(); | |
break; | |
case 7: Console.Write("Seven point "); | |
SwitchDecimals(); | |
break; | |
case 8: Console.Write("Eight point "); | |
SwitchDecimals(); | |
break; | |
case 9: Console.Write("Nine point "); | |
SwitchDecimals(); | |
break; | |
default: Console.Write("\nError!"); | |
break; | |
} | |
break; | |
case 8: Console.Write("Eighty "); | |
switch (Ones) | |
{ | |
case 0: Console.Write("point "); | |
SwitchDecimals(); | |
break; | |
case 1: Console.Write("One point "); | |
SwitchDecimals(); | |
break; | |
case 2: Console.Write("Two point "); | |
SwitchDecimals(); | |
break; | |
case 3: Console.Write("Three point "); | |
SwitchDecimals(); | |
break; | |
case 4: Console.Write("Four point "); | |
SwitchDecimals(); | |
break; | |
case 5: Console.Write("Five point "); | |
SwitchDecimals(); | |
break; | |
case 6: Console.Write("Six point "); | |
SwitchDecimals(); | |
break; | |
case 7: Console.Write("Seven point "); | |
SwitchDecimals(); | |
break; | |
case 8: Console.Write("Eight point "); | |
SwitchDecimals(); | |
break; | |
case 9: Console.Write("Nine point "); | |
SwitchDecimals(); | |
break; | |
default: Console.Write("\nError!"); | |
break; | |
} | |
break; | |
case 9: Console.Write("Ninety "); | |
switch (Ones) | |
{ | |
case 0: Console.Write("point "); | |
SwitchDecimals(); | |
break; | |
case 1: Console.Write("One point "); | |
SwitchDecimals(); | |
break; | |
case 2: Console.Write("Two point "); | |
SwitchDecimals(); | |
break; | |
case 3: Console.Write("Three point "); | |
SwitchDecimals(); | |
break; | |
case 4: Console.Write("Four point "); | |
SwitchDecimals(); | |
break; | |
case 5: Console.Write("Five point "); | |
SwitchDecimals(); | |
break; | |
case 6: Console.Write("Six point "); | |
SwitchDecimals(); | |
break; | |
case 7: Console.Write("Seven point "); | |
SwitchDecimals(); | |
break; | |
case 8: Console.Write("Eight point "); | |
SwitchDecimals(); | |
break; | |
case 9: Console.Write("Nine point "); | |
SwitchDecimals(); | |
break; | |
default: Console.Write("\nError!"); | |
break; | |
} | |
break; | |
default: Console.WriteLine("\nError!"); | |
break; | |
} | |
} | |
static void SwitchHundreds() | |
{ | |
switch (Hundreds) | |
{ | |
case 0: | |
SwitchTensAndDecimals(); | |
break; | |
case 1: Console.Write("One hundred "); | |
SwitchTensAndDecimals(); | |
break; | |
case 2: Console.Write("Two hundred "); | |
SwitchTensAndDecimals(); | |
break; | |
case 3: Console.Write("Three hundred "); | |
SwitchTensAndDecimals(); | |
break; | |
case 4: Console.Write("Four hundred "); | |
SwitchTensAndDecimals(); | |
break; | |
case 5: Console.Write("Five hundred "); | |
SwitchTensAndDecimals(); | |
break; | |
case 6: Console.Write("Six hundred "); | |
SwitchTensAndDecimals(); | |
break; | |
case 7: Console.Write("Seven hundred "); | |
SwitchTensAndDecimals(); | |
break; | |
case 8: Console.Write("Eight hundred "); | |
SwitchTensAndDecimals(); | |
break; | |
case 9: Console.Write("Nine hundred "); | |
SwitchTensAndDecimals(); | |
break; | |
default: Console.WriteLine("\nError!"); | |
break; | |
} | |
} | |
static void Main() | |
{ | |
//One, Two, Three, Four, Five, Six, Seven, Eight, Nine, Ten | |
//Eleven, Twelve, Thirteen, Fourteen, Fifteen, Sixteen, Seventeen, Eighteen, Nineteen, | |
//Twenty, Thirty, Fourty, Sixty, Seventy, Eighty, Ninety, | |
//One hundred, Two hundred | |
Thread.CurrentThread.CurrentCulture = CultureInfo.InvariantCulture; | |
while (true) | |
{ | |
Console.Write("\nPlease enter a number to read: "); | |
string str = Console.ReadLine(); | |
Console.WriteLine(); | |
decimal Number = 0; | |
while (decimal.TryParse(str, out Number) == false) | |
{ | |
Console.Write("Please enter a valid number!: "); | |
str = Console.ReadLine(); | |
Console.WriteLine(); | |
} | |
Thousants = (int)(Number) / 1000; | |
Hundreds = ((int)(Number) % 1000) / 100; | |
Tens = ((int)Number % 100) / 10; | |
Ones = (int)Number % 10; | |
Decimals = (Number - (int)(Number)) * 100; // (5 - 5.12345) * 100 = 0.12345 * 100 = 12.345 | |
DecimalTens = ((int)(Decimals) / 10); // (int)(12.345) = 12; 12 / 10 = 1 | |
DecimalOnes = ((int)(Decimals) % 10); // (int)(12.345) = 12; 12 % 10 = 2 | |
switch (Thousants) | |
{ | |
case 0: | |
SwitchHundreds(); | |
break; | |
case 1: Console.Write("One thousand "); | |
SwitchHundreds(); | |
break; | |
case 2: Console.Write("Two thousand "); | |
SwitchHundreds(); | |
break; | |
case 3: Console.Write("Three thousand "); | |
SwitchHundreds(); | |
break; | |
case 4: Console.Write("Four thousand "); | |
SwitchHundreds(); | |
break; | |
case 5: Console.Write("Five thousand "); | |
SwitchHundreds(); | |
break; | |
case 6: Console.Write("Six thousand "); | |
SwitchHundreds(); | |
break; | |
case 7: Console.Write("Seven thousand "); | |
SwitchHundreds(); | |
break; | |
case 8: Console.Write("Eight thousand "); | |
SwitchHundreds(); | |
break; | |
case 9: Console.Write("Nine thousand "); | |
SwitchHundreds(); | |
break; | |
default: Console.WriteLine("\nError!"); | |
break; | |
} | |
} | |
} | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment