static void Main(string[] args) { TextReader istream = MakeInput(TestData1.Item1); CWriterMediator ostream = MakeOutput(TestData1.Item2); TextReader std_in = Console.In; TextWriter std_out = Console.Out; Console.SetIn(istream); Console.SetOut(ostream); // IO-цепочки для ввода-вывода. CIO io = new CIO(); if (io.In(io.Number(out int n_vals), io.InEOL())) { while (n_vals > 0) { if (io.Number(out int cmd_code).Success) { switch (cmd_code) { case 1: { if (io.In(io.OneOf(" "), io.Number(out int x_val))) { ConsoleEx.MsgBox($"c = {cmd_code}, val = {x_val}"); } else { goto InvalidInput; } } break; case 2: { ConsoleEx.MsgBox($"c = {cmd_code}"); } break; case 3: { ConsoleEx.MsgBox($"c = {cmd_code}"); } break; default: goto InvalidInput; } if (!io.InEOL().Success) { goto InvalidInput; } }
static void Main(string[] args) { //TextReader tx1 = File.OpenText(@"D:\DESKTOP\Code\Examples_HackerRank\bin\Debug\Cases\Data Structures\Stack\Cache Maximums\input00.txt"); //Console.SetIn(tx1); //TextReader tx2 = Console.In; //int d = tx2.Read(); //return; CExercise run_exe; var exe_list = new List <CExercise> { (run_exe = new DataStructures.Stack.CECacheMaximums()), new DataStructures.Stack.CEBalancedBrackets(), }; var exercises = new Dictionary <string, CExercise> (); foreach (CExercise exe_item in exe_list) { exercises.Add(exe_item.ID, exe_item); } ; CExercise exe = exercises[run_exe.ID]; Console.ForegroundColor = ConsoleColor.Yellow; Console.BackgroundColor = ConsoleColor.DarkMagenta; Console.WriteLine(exe.ExerciseHint.PadRight(Console.BufferWidth)); Console.CursorTop--; Console.ResetColor(); //int case_num = 1; foreach (TestCase test_case in exe.TestCases) { Console.ForegroundColor = ConsoleColor.DarkGray; Console.BackgroundColor = ConsoleColor.Black; Console.Write(exe.CaseHint(test_case, $"Case") + " RUN..."); TextReader istream = MakeInput(test_case.InputFile); CWriterMediator ostream = MakeOutput(test_case.OutputFile); TextReader std_in = Console.In; TextWriter std_out = Console.Out; Console.SetIn(istream); Console.SetOut(ostream); Exception fail_result = null; try { CIO io = new CIO(Console.In); exe.Execute(io); } catch (Exception e) { fail_result = e; } Console.SetIn(std_in); Console.SetOut(std_out); Console.CursorLeft -= 6; if ((ostream.Mismatches > 0) || (fail_result != null)) { Console.ForegroundColor = ConsoleColor.Red; Console.WriteLine($"FAIL "); // ostream.Mismatches Console.CursorTop--; Console.WriteLine(" - "); Console.ResetColor(); if (fail_result != null) { Console.ForegroundColor = ConsoleColor.DarkRed; Console.WriteLine(fail_result.Message); Console.ResetColor(); } } else { Console.ForegroundColor = ConsoleColor.Green; Console.WriteLine($"PASS "); // ostream.Mismatches Console.CursorTop--; Console.WriteLine(" + "); Console.ResetColor(); } } Console.WriteLine($"Press any key to quit..."); Console.ReadKey(); }