示例#1
0
        public int CalculateLetters(int endrange)
        {
            int CountLetters   = 0;
            int Remainder      = 0;
            int DivisionResult = 0;

            if (endrange < 100)
            {
                CountLetters = TwentyToNintynineCalCulator.CalculateLetters(endrange);
            }
            else
            {
                Remainder      = endrange % 100;
                DivisionResult = endrange / 100;
                var LetterList         = SetupHelper.CreateWordDictionaryForOneToNineteen();
                var highestIndexInList = DivisionResult - 1;
                if (highestIndexInList > 0)
                {
                    for (int counter = 0; counter <= highestIndexInList; counter++)
                    {
                        CountLetters = CountLetters + TwentyToNintynineCalCulator.CalculateLetters(99);
                        if (counter < highestIndexInList)
                        {
                            CountLetters = CountLetters + (100 * (LetterList.ElementAt(counter).Value.Length));
                            CountLetters = CountLetters + (100 * HUNDRED.Length);
                            CountLetters = CountLetters + (99 * HUNDREDAND.Length);
                        }
                        else
                        {
                            CountLetters = CountLetters + ((Remainder + 1) * (LetterList.ElementAt(highestIndexInList).Value.Length));
                            CountLetters = CountLetters + ((Remainder + 1) * HUNDRED.Length);
                            CountLetters = CountLetters + (Remainder * HUNDREDAND.Length);
                            CountLetters = CountLetters + TwentyToNintynineCalCulator.CalculateLetters(Remainder);
                        }
                    }
                }
                else
                {
                    CountLetters = CountLetters + TwentyToNintynineCalCulator.CalculateLetters(99);
                    CountLetters = CountLetters + ((Remainder + 1) * (LetterList.ElementAt(highestIndexInList).Value.Length));
                    CountLetters = CountLetters + ((Remainder + 1) * HUNDRED.Length);
                    CountLetters = CountLetters + (Remainder * HUNDREDAND.Length);
                    CountLetters = CountLetters + TwentyToNintynineCalCulator.CalculateLetters(Remainder);
                }
            }

            return(CountLetters);
        }
示例#2
0
        static void Main(string[] args)
        {
            Console.WriteLine("Started- Calculating upto 99");
            ProcessTwentyToNintynine LetterCalculatorUpToNintyNine = new ProcessTwentyToNintynine();
            int output = LetterCalculatorUpToNintyNine.CalculateLetters(99);

            Console.WriteLine(output);
            Console.WriteLine("Started- Calculating Greater Than  100 But Less than 1000");
            ProcessHundredToLessThanThousand LetterCalculatorUpToNineNintyNine = new ProcessHundredToLessThanThousand();

            output = LetterCalculatorUpToNineNintyNine.CalculateLetters(199);
            Console.WriteLine("For 199 :" + output.ToString());
            output = LetterCalculatorUpToNineNintyNine.CalculateLetters(299);
            Console.WriteLine("For 299 :" + output.ToString());
            output = LetterCalculatorUpToNineNintyNine.CalculateLetters(399);
            Console.WriteLine("For 399 :" + output.ToString());
            output = LetterCalculatorUpToNineNintyNine.CalculateLetters(499);
            Console.WriteLine("For 499 :" + output.ToString());
            output = LetterCalculatorUpToNineNintyNine.CalculateLetters(599);
            Console.WriteLine("For 599 :" + output.ToString());
            output = LetterCalculatorUpToNineNintyNine.CalculateLetters(699);
            Console.WriteLine("For 699 :" + output.ToString());
            output = LetterCalculatorUpToNineNintyNine.CalculateLetters(799);
            Console.WriteLine("For 799 :" + output.ToString());
            output = LetterCalculatorUpToNineNintyNine.CalculateLetters(899);
            Console.WriteLine("For 899 :" + output.ToString());
            output = LetterCalculatorUpToNineNintyNine.CalculateLetters(999);
            Console.WriteLine("For 999 :" + output.ToString());
            Console.WriteLine("Started- Calculating Upto 1000");
            ProcessThousand LetterCalculatorUpToThousand = new ProcessThousand();

            output = LetterCalculatorUpToThousand.CalculateLetters(1000);
            Console.WriteLine("For 1000 :" + output.ToString());

            Console.ReadKey();
        }