Вывести сообщение в консоль при нажатии клавиши - C#

Узнай цену своей работы

Формулировка задачи:

есть такая программа, должна по нажатию клавиши выводить в консоль сообщение, в чем проблема понять не могу
Листинг программы
  1. using System;
  2. class ConveyerControl
  3. {
  4. public enum Action{Start, Stop, Forward, Backward};
  5. public void Conveyer(Action com) //вывод при нажатии клавиши
  6. {
  7. switch (com){
  8. case Action.Start:
  9. Console.WriteLine("Конвейер запущен");
  10. break;
  11. case Action.Stop:
  12. Console.WriteLine("Конвейер остановлен");
  13. break;
  14. case Action.Forward:
  15. Console.WriteLine("Конвейер перемещен на позицию впреред");
  16. break;
  17. case Action.Backward:
  18. Console.WriteLine("Конвейер перемещен на позицию назад");
  19. break;
  20. }
  21. }
  22. }
  23. class Conveyer
  24. {
  25. static void Main()
  26. {
  27. ConveyerControl c = new ConveyerControl();
  28. bool Automatic = false;
  29. ConsoleKeyInfo cki;
  30. cki = Console.ReadKey(true); //вроде как обработчик событий
  31. Console.WriteLine("Это эмулятор терминала управления конвейером, для управления используются клавиши:"+
  32. "\n S - для старта конвейера," +
  33. "\n Q - для остановки конвейера," +
  34. "\n Стрелка Влево - для продвижения конвейера вперед," +
  35. "\n Стрелка Вправо - для продвижения конвейера назад," +
  36. "\n Ручное управление доступно только когда конвейер остановлен!" +
  37. "\n\n конвейер выключен.");
  38. while(Automatic == true) //тут вроде начудил
  39. if(cki.Key == ConsoleKey.Q){
  40. Automatic = false;
  41. c.Conveyer(ConveyerControl.Action.Stop());}
  42. while(Automatic== false)*/
  43. if(cki.Key == ConsoleKey.S) Console.WriteLine("jsdhfkjhdshs");
  44. Automatic = true;
  45. c.Conveyer(ConveyerControl.Action.Start());}
  46. if(cki.Key == ConsoleKey.LeftArrow)
  47. c.Conveyer(ConveyerControl.Action.Backward());
  48. if(cki.Key == ConsoleKey.RightArrow)
  49. c.Conveyer(ConveyerControl.Action.Forward());
  50. }
  51. }
если можно с краткими пояснениями, перелопачивать кучу литературы по новой не охота

Решение задачи: «Вывести сообщение в консоль при нажатии клавиши»

textual
Листинг программы
  1.     static void Main()
  2.     {
  3.         ConveyerControl c = new ConveyerControl();
  4.         ConsoleKeyInfo cki;
  5.         Console.ReadKey(true); //вроде как обработчик событий
  6.         Console.WriteLine("Это эмулятор терминала управления конвейером, для управления используются клавиши:"+
  7.                           "\n S - для старта конвейера," +
  8.                           "\n Q - для остановки конвейера," +
  9.                           "\n Стрелка Влево - для продвижения конвейера вперед," +
  10.                           "\n Стрелка Вправо - для продвижения конвейера назад," +
  11.                           "\n Ручное управление доступно только когда конвейер остановлен!" +
  12.                           "\n\n конвейер выключен.");
  13.         while (true)
  14.         {
  15.             cki = Console.ReadKey(true);
  16.             if (cki.Key == ConsoleKey.S)
  17.             {
  18.                 c.Conveyer(ConveyerControl.Action.Start);
  19.             }
  20.             if (cki.Key == ConsoleKey.LeftArrow)
  21.                 c.Conveyer(ConveyerControl.Action.Backward);
  22.             if (cki.Key == ConsoleKey.RightArrow)
  23.                 c.Conveyer(ConveyerControl.Action.Forward);
  24.             if (cki.Key == ConsoleKey.Q)
  25.             {
  26.                 c.Conveyer(ConveyerControl.Action.Stop);
  27.                 break;
  28.             }
  29.         }
  30.         Console.ReadKey();
  31.     }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

9   голосов , оценка 4.333 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы