Exemple #1
0
 public static void Info()
 {
     Console.Write
     (
         " Задача: " +
         "Определить конечный вывод в разных ситуациях "
     );
 }
 public static void Info()
 {
     Console.Write
     (
         " Задача: " +
         "Разбор нескольких ситуаций для битовых операторов и перечислений"
     );
 }
Exemple #3
0
        static void Main(string[] args)
        {
            int?AutoExercise = null;

            if (args.Length > 0)
            {
                if (int.TryParse(args[0], out int number))
                {
                    AutoExercise = number;
                }
            }


            var AllExercises = new List <Exercise>
            {
                new Exercise
                {
                    Name     = CLoopULongExample.Name,
                    InfoFunc = CLoopULongExample.Info,
                    ExecFunc = CLoopULongExample.Execute
                },
                new Exercise
                {
                    Name     = CBitwiseOperators.Name,
                    InfoFunc = CBitwiseOperators.Info,
                    ExecFunc = CBitwiseOperators.Execute
                },
                new Exercise
                {
                    Name     = CLoopNumbers.Name,
                    InfoFunc = CLoopNumbers.Info,
                    ExecFunc = CLoopNumbers.Execute
                },
                new Exercise
                {
                    Name     = CSharpDataTypes.Name,
                    InfoFunc = CSharpDataTypes.Info,
                    ExecFunc = CSharpDataTypes.Execute
                },
                new Exercise
                {
                    Name     = CAsyncExample1.Name,
                    InfoFunc = CAsyncExample1.Info,
                    ExecFunc = CAsyncExample1.Execute
                },
            };


Start:
            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.HorizontalTitle("Выбор примера", 5, "=", "<", ">");
            Console.ResetColor();

            Console.WriteLine("Номера примеров для запуска: ");

            int n = 1;

            foreach (Exercise exe in AllExercises)
            {
                Console.Write(n);
                Console.Write(". ");
                Console.Write(exe.Name);
                Console.WriteLine();

                n++;
            }

            Console.WriteLine();
            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Horizontal("=");
            Console.ResetColor();

            int choice;

            if (AutoExercise == null)
            {
                Console.CursorTop -= 2;
                string input_number = Console.ReadLine();
                Console.CursorTop += 1;


                if (!int.TryParse(input_number, out choice))
                {
                    Console.TextColor = ConsoleColor.Red;
                    Console.WriteLine("Число введено неправильно");
                    Console.ResetColor();
                    goto Start;
                }
            }
            else
            {
                choice = AutoExercise.Value;
            }


            if ((choice < 1) || (choice > AllExercises.Count))
            {
                Console.TextColor = ConsoleColor.Red;
                Console.WriteLine("Указанное число вышло за пределы допустимого");
                Console.ResetColor();
                goto Start;
            }

            choice--;


            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.HorizontalTitle(AllExercises[choice].Name, 5);
            Console.ResetColor();

            AllExercises[choice].ExecFunc();

            Console.ForegroundColor = ConsoleColor.DarkGray;
            Console.Horizontal();
            Console.ResetColor();

            goto Start;
        }