Вывести сообщение в консоль при нажатии клавиши - 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();
    }

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


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

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

9   голосов , оценка 4.333 из 5
Похожие ответы