Esempio n. 1
0
        private static void Main(string[] args)
        {
            string input = "";

            do
            {
                PrintMenu();
                input = Console.ReadLine();
                string source = ReadTextFromFile();
                if (source == "")
                {
                    Console.WriteLine("Ошибка! Введите кодируемую строку в файл input.txt");
                    Console.ReadKey();
                    continue;
                }
                if (input == "10")
                {
                    Console.WriteLine("Сравнение коэффицентов сжатия:");
                    foreach (IAlgorithm alg in AlgorithmsList)
                    {
                        alg.Encode(source);
                        Console.WriteLine("{0}: {1:0.000}", alg.GetName(), alg.GetCompressionRatio());
                    }
                    Console.WriteLine();
                    continue;
                }
                _algorithm = ParseAlgorithm(input);
                if (_algorithm == null)
                {
                    continue;
                }

                string encodeString = _algorithm.Encode(source);
                Console.WriteLine("Алгоритм: {0}", _algorithm.GetName());
                Console.WriteLine("Исходная строка:");
                Console.WriteLine(source);
                Console.WriteLine("Закодированная строка:");
                Console.WriteLine(encodeString);
                Console.WriteLine("Полученный коэффицент сжатия: {0:0.000}", _algorithm.GetCompressionRatio());
                Console.WriteLine("Раскодированная строка:");
                Console.WriteLine(_algorithm.Decode(encodeString));
                Console.WriteLine();
            } while (input != "q");
        }