Пример #1
0
        static void StartMenu()
        {
            string Welcome = "Добрый день, пользователь!\n";

            Welcome = Welcome + "Выберите чем бы Вы хотели заняться:\n";
            Welcome = Welcome + "Меню на сегодня:\n";
            Welcome = Welcome + "1 - Вычисление минимального числа из трех\n";
            Welcome = Welcome + "2 - Подсчет числа знаков в числе\n";
            Welcome = Welcome + "3 - Сумма положительных нечетных чисел в ряду\n";
            Welcome = Welcome + "4 - Проверка логина и пароля\n";
            Welcome = Welcome + "6 - Хорошие числа в миллиарде\n";
            Welcome = Welcome + "7 - Рекурсивный вывод ряда\n";

            Welcome = Welcome + "0 - Выход из программы\n";

            while (true)
            {
                ClassLibraryLesson2.PrintTaskWelcomeScreen(Welcome);

                ConsoleKeyInfo userChooseKey = Console.ReadKey(true);

                switch (userChooseKey.Key)
                {
                case ConsoleKey.D1:
                case ConsoleKey.NumPad1:
                    Task1();
                    break;

                case ConsoleKey.D2:
                case ConsoleKey.NumPad2:
                    Task2();
                    break;

                case ConsoleKey.D3:
                case ConsoleKey.NumPad3:
                    Task3();
                    break;

                case ConsoleKey.D4:
                case ConsoleKey.NumPad4:
                    Task4();
                    break;

                case ConsoleKey.D6:
                case ConsoleKey.NumPad6:
                    Task6();
                    break;

                case ConsoleKey.D7:
                case ConsoleKey.NumPad7:
                    Task7();
                    break;

                case ConsoleKey.D0:
                case ConsoleKey.NumPad0:
                    Environment.Exit(0);     // на выход
                    break;
                }
            }
        }
Пример #2
0
        static void Task4()
        {
            string Welcome = "Вы выбрали задачу проверки логина и пароля\n";

            Welcome = Welcome + "Это очаровывает!\n";
            Welcome = Welcome + "Давайте начнем.\n";

            ClassLibraryLesson2.PrintTaskWelcomeScreen(Welcome);

            const ushort totalNumberOfAttempts = 3;

            ushort counterOfAttempts = 0;

            do
            {
                counterOfAttempts++;

                string userLogin    = ClassLibraryLesson2.MakeQuestion("логин");
                string userPassword = ClassLibraryLesson2.MakeQuestion("пароль");

                if (TryLogin(userLogin, userPassword))
                {
                    ClassLibraryLesson2.Print("Доступ предоставлен!");
                    break;
                }
                else
                {
                    ClassLibraryLesson2.Print("Логин или пароль неверен!");
                    ClassLibraryLesson2.Print($"Осталось {totalNumberOfAttempts - counterOfAttempts} попытки.");
                }
            }while (counterOfAttempts < totalNumberOfAttempts);

            ClassLibraryLesson2.Pause();
        }
Пример #3
0
        static double MinNumber(string numberAsString, out int counter)
        {
            counter = 0;

            string[] userAnwer = ClassLibraryLesson2.SplitString(numberAsString);

            double value = Double.MaxValue;

            foreach (string element in userAnwer)
            {
                if (Double.TryParse(element, out double currentNumber))
                {
                    counter++; // это было число

                    if (value > currentNumber)
                    {
                        value = currentNumber;
                    }
                }
                else
                {
                    ClassLibraryLesson2.Print($"Введенное значение {element} не является числом!");
                }
            }

            return(value);
        }
Пример #4
0
        static void RecursivePrint(int begin, int end)
        {
            if (end >= begin)
            {
                ClassLibraryLesson2.Print(end.ToString());

                end--;

                RecursivePrint(begin, end);
            }
        }
Пример #5
0
        static void Task7()
        {
            string Welcome = "Вы выбрали задачу рекурсивного вывода ряда чисел\n";

            Welcome = Welcome + "Это забавно!\n";
            Welcome = Welcome + "Давайте начнем.\n";

            ClassLibraryLesson2.PrintTaskWelcomeScreen(Welcome);

            int beginNumber = Int32.Parse(ClassLibraryLesson2.MakeQuestion("начальное число ряда"));
            int endNumber   = Int32.Parse(ClassLibraryLesson2.MakeQuestion("конечное число ряда"));

            ClassLibraryLesson2.Print("Вывод ряда:");

            RecursivePrint(beginNumber, endNumber);

            ClassLibraryLesson2.Pause();
        }
Пример #6
0
        static void Task1()
        {
            string Welcome = "Вы выбрали задачу поиска минимального ряда чисел\n";

            Welcome = Welcome + "Это так увлекательно!\n";
            Welcome = Welcome + "Давайте начнем.\n";

            ClassLibraryLesson2.PrintTaskWelcomeScreen(Welcome);

            string userAnwerAsString = ClassLibraryLesson2.MakeQuestion("ряд чисел разделенные пробелом");

            double minNumber = MinNumber(userAnwerAsString, out int counter);

            ClassLibraryLesson2.Print($"Было найдено и обработано {counter} чисел из введенной строки <{userAnwerAsString}>.");

            ClassLibraryLesson2.Print((minNumber == Double.MaxValue) ? "Минимальное значение определить не удалось :(" : $"Минимальное значение равно: {minNumber}");

            ClassLibraryLesson2.Pause();
        }
Пример #7
0
        static void Task2()
        {
            string Welcome = "Вы выбрали задачу подсчета количества цифр в заданном числе\n";

            Welcome = Welcome + "Это крайне интересно!\n";
            Welcome = Welcome + "Давайте начнем.\n";

            ClassLibraryLesson2.PrintTaskWelcomeScreen(Welcome);

            string userAnwerAsString = ClassLibraryLesson2.MakeQuestion("целое положительное число");

            if (UInt32.TryParse(userAnwerAsString, out uint userNumber))
            {
                ClassLibraryLesson2.Print($"Число цифр в числе: {CountQuantityOfNumeral(userNumber)}");
            }
            else
            {
                ClassLibraryLesson2.Print($"Введенное значение {userAnwerAsString} не подходит!");
            }

            ClassLibraryLesson2.Pause();
        }
Пример #8
0
        static void Task6()
        {
            string Welcome = "Вы выбрали задачу подсчета количества хороших чисел в миллиарде\n";

            Welcome = Welcome + "Это внушает!\n";
            Welcome = Welcome + "Давайте начнем.\n";

            ClassLibraryLesson2.PrintTaskWelcomeScreen(Welcome);

            int counter = 0;

            DateTime beginMarkOfTime = DateTime.Now;

            for (int currentNumber = 1; currentNumber <= 1000000000; currentNumber++)
            {
                string currentNumberAsString = currentNumber.ToString();

                int summOfNumbers = 0;
                foreach (char currentChar in currentNumberAsString)
                {
                    summOfNumbers = summOfNumbers + Int32.Parse(currentChar.ToString());
                }

                if (currentNumber % summOfNumbers == 0)
                {
                    counter++;
                }
            }

            DateTime finishMarkOfTime = DateTime.Now;

            TimeSpan deltaMarkOfTime = finishMarkOfTime - beginMarkOfTime;

            ClassLibraryLesson2.Print($"Количество хороших чисел: {counter}. Затрачено времени: {deltaMarkOfTime.TotalMinutes} минут");

            ClassLibraryLesson2.Pause();
        }
Пример #9
0
        static void Task3()
        {
            string Welcome = "Вы выбрали задачу подсчета суммы нечетных положительных чисел\n";

            Welcome = Welcome + "Это завораживает!\n";
            Welcome = Welcome + "Давайте начнем.\n";

            ClassLibraryLesson2.PrintTaskWelcomeScreen(Welcome);

            double totalSumm = 0;

            while (true)
            {
                string userAnwerAsString = ClassLibraryLesson2.MakeQuestion("число. Для окончания ряда чисел введите 0");

                if (Double.TryParse(userAnwerAsString, out double currentNumber))
                {
                    if (currentNumber > 0 && currentNumber % 2 != 0)
                    {
                        totalSumm = totalSumm + currentNumber;
                    }
                    else if (currentNumber == 0)
                    {
                        break;
                    }
                }
                else
                {
                    ClassLibraryLesson2.Print($"Введенное значение {userAnwerAsString} не подходит!");
                }
            }

            ClassLibraryLesson2.Print($"Сумма положительных нечетных положительных чисел: {totalSumm}");

            ClassLibraryLesson2.Pause();
        }