Вывести сообщение в консоль при нажатии клавиши - C#
Формулировка задачи:
есть такая программа, должна по нажатию клавиши выводить в консоль сообщение, в чем проблема понять не могу
если можно с краткими пояснениями, перелопачивать кучу литературы по новой не охота
using System; class ConveyerControl { public enum Action{Start, Stop, Forward, Backward}; public void Conveyer(Action com) //вывод при нажатии клавиши { switch (com){ case Action.Start: Console.WriteLine("Конвейер запущен"); break; case Action.Stop: Console.WriteLine("Конвейер остановлен"); break; case Action.Forward: Console.WriteLine("Конвейер перемещен на позицию впреред"); break; case Action.Backward: Console.WriteLine("Конвейер перемещен на позицию назад"); break; } } } class Conveyer { static void Main() { ConveyerControl c = new ConveyerControl(); bool Automatic = false; ConsoleKeyInfo cki; cki = Console.ReadKey(true); //вроде как обработчик событий Console.WriteLine("Это эмулятор терминала управления конвейером, для управления используются клавиши:"+ "\n S - для старта конвейера," + "\n Q - для остановки конвейера," + "\n Стрелка Влево - для продвижения конвейера вперед," + "\n Стрелка Вправо - для продвижения конвейера назад," + "\n Ручное управление доступно только когда конвейер остановлен!" + "\n\n конвейер выключен."); while(Automatic == true) //тут вроде начудил if(cki.Key == ConsoleKey.Q){ Automatic = false; c.Conveyer(ConveyerControl.Action.Stop());} while(Automatic== false)*/ if(cki.Key == ConsoleKey.S) Console.WriteLine("jsdhfkjhdshs"); Automatic = true; c.Conveyer(ConveyerControl.Action.Start());} if(cki.Key == ConsoleKey.LeftArrow) c.Conveyer(ConveyerControl.Action.Backward()); if(cki.Key == ConsoleKey.RightArrow) c.Conveyer(ConveyerControl.Action.Forward()); } }
Решение задачи: «Вывести сообщение в консоль при нажатии клавиши»
textual
Листинг программы
static void Main() { ConveyerControl c = new ConveyerControl(); ConsoleKeyInfo cki; Console.ReadKey(true); //вроде как обработчик событий Console.WriteLine("Это эмулятор терминала управления конвейером, для управления используются клавиши:"+ "\n S - для старта конвейера," + "\n Q - для остановки конвейера," + "\n Стрелка Влево - для продвижения конвейера вперед," + "\n Стрелка Вправо - для продвижения конвейера назад," + "\n Ручное управление доступно только когда конвейер остановлен!" + "\n\n конвейер выключен."); while (true) { cki = Console.ReadKey(true); if (cki.Key == ConsoleKey.S) { c.Conveyer(ConveyerControl.Action.Start); } if (cki.Key == ConsoleKey.LeftArrow) c.Conveyer(ConveyerControl.Action.Backward); if (cki.Key == ConsoleKey.RightArrow) c.Conveyer(ConveyerControl.Action.Forward); if (cki.Key == ConsoleKey.Q) { c.Conveyer(ConveyerControl.Action.Stop); break; } } Console.ReadKey(); }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д