Esempio n. 1
0
        /*
         * Задание 4
         *  Используя Visual Studio, создайте проект по шаблону Console Application.
         *  Требуется:
         *  Создайте класс DocumentWorker.
         *  В теле класса создайте три метода OpenDocument(), EditDocument(), SaveDocument().
         *  В тело каждого из методов добавьте вывод на экран соответствующих строк: "Документ открыт",
         *  "Редактирование документа доступно в версии Про", "Сохранение документа доступно в
         *  версии Про".
         *  Создайте производный класс ProDocumentWorker.
         *  Переопределите соответствующие методы, при переопределении методов выводите следующие строки:
         *  "Документ отредактирован", "Документ сохранен в старом формате, сохранение в остальных
         *  форматах доступно в версии Эксперт".
         *  Создайте производный класс ExpertDocumentWorker от базового класса ProDocumentWorker.
         *  Переопределите соответствующий метод. При вызове данного метода необходимо выводить на экран
         *  "Документ сохранен в новом формате".
         *  В теле метода Main() реализуйте возможность приема от пользователя номера ключа доступа pro и exp.
         *  Если пользователь не вводит ключ, он может пользоваться только бесплатной версией (создается
         *  экземпляр базового класса), если пользователь ввел номера ключа доступа pro и exp, то должен
         *  создаться экземпляр соответствующей версии класса, приведенный к базовому - DocumentWorker.
         */

        static void Main(string[] args)
        {
            DocumentWorker document = null;


            int    i      = 0;
            Random random = new Random();

            while ((i++) != 4)
            {
                switch (random.Next(1, 4))
                {
                case 1:
                {
                    document = new DocumentWorker();
                    WorkWithDocument(document, "DocumentWorker");
                    break;
                }

                case 2:
                {
                    document = new ExpertDocumentWorker();
                    WorkWithDocument(document, "ExpertDocumentWorker");
                    break;
                }

                case 3:
                {
                    document = new ProDocumentWorker();
                    WorkWithDocument(document, "ProDocumentWorker");
                    break;
                }
                }
            }

            Console.ReadKey();
        }
Esempio n. 2
0
        static void Main(string[] args)
        {
            DocumentWorker document = null;
            int            key      = new Random().Next(0, 1000);

            Console.WriteLine(key);

            if (key <= 300)
            {
                document = new DocumentWorker();
            }
            if (key > 300 & key <= 650)
            {
                document = new ProDocumentWorker();
            }
            if (key > 650 & key <= 1000)
            {
                document = new ExpertDocumentWorker();
            }

            document.Show();

            Console.ReadKey();
        }
Esempio n. 3
0
        static void Main(string[] args)
        {
            string key;
            int    choice;
            bool   flag = true;

            Console.WriteLine("Введите ключ (если не имеете ключа просто нажмите Enter):");
            key = Console.ReadLine();
            switch (key)
            {
            case "":
                DocumentWorker documentLite = new DocumentWorker();
                Console.WriteLine("Добро пожаловать в Lite версию!");
                Menu();
                while (flag)
                {
                    choice = int.Parse(Console.ReadLine());
                    switch (choice)
                    {
                    case 1:
                        documentLite.OpenDocument();
                        break;

                    case 2:
                        documentLite.EditDocument();
                        break;

                    case 3:
                        documentLite.SaveDocument();
                        break;

                    case 4:
                        flag = false;
                        break;
                    }
                }
                break;

            case "pro":
                DocumentWorker documentPro = new ProDocumentWorker();
                Console.WriteLine("Добро пожаловать в Pro версию!");
                Menu();
                while (flag)
                {
                    choice = int.Parse(Console.ReadLine());
                    switch (choice)
                    {
                    case 1:
                        documentPro.OpenDocument();
                        break;

                    case 2:
                        documentPro.EditDocument();
                        break;

                    case 3:
                        documentPro.SaveDocument();
                        break;

                    case 4:
                        flag = false;
                        break;
                    }
                }
                break;

            case "exp":
                DocumentWorker documentExp = new ExpertDocumentWorker();
                Console.WriteLine("Добро пожаловать в Expert версию!");
                Menu();
                while (flag)
                {
                    choice = int.Parse(Console.ReadLine());
                    switch (choice)
                    {
                    case 1:
                        documentExp.OpenDocument();
                        break;

                    case 2:
                        documentExp.EditDocument();
                        break;

                    case 3:
                        documentExp.SaveDocument();
                        break;

                    case 4:
                        flag = false;
                        break;
                    }
                }
                break;

            default:
                Console.WriteLine("Неверный ввод!");
                break;
            }
            Console.ReadKey();
        }