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; } } }
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(); }
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(); }
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(); }
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(); }
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(); }
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(); }