1. Си / Говнокод #27859

    +1

    1. 01
    2. 02
    3. 03
    4. 04
    5. 05
    6. 06
    7. 07
    8. 08
    9. 09
    10. 10
    11. 11
    12. 12
    13. 13
    14. 14
    15. 15
    16. 16
    17. 17
    18. 18
    #include <conio.h>
    
    void activateAlarm(int channelID) {
    
        int key = 0;
    
        while(temperatureChannel[channelID].currentTemperature > temperatureChannel[channelID].highLimit
            ||temperatureChannel[channelID].currentTemperature < temperatureChannel[channelID].lowLimit) {
    
            beep(350,100);
    
            if (_kbhit()) {
                key = _getch();
                if(key == 'P');
                    break;
            }    
        }
    }

    Запостил: 3_dar, 06 Декабря 2021

    Комментарии (24) RSS

    • Я пытаюсь создать функцию, которая будет printf определенной строкой, если пользователь нажмет любую кнопку на клавиатуре EXCEPT Для заглавной P, если пользователь нажмет P , то она разорвет цикл.

      Однако я не думаю, что использую _kbhit и _getch должным образом. Я использую число 80, потому что это символ ASCII для 80....sorry для любой путаницы
      Ответить
    • Командный сигнал разрушает мою функцию


      звуковой сигнал-это заноза в заднице, и весь мой режим "alarm" вращается вокруг продолжительности звукового сигнала. Это означает, что каждый раз, когда я хочу нажать букву "O", чтобы распечатать отчет, он печатается по прихоти, совпадающей с окончанием звукового сигнала триггера. Как мне это устранить?
      Ответить
      • Вореции какие-то.
        Ответить
        • kbhit() как спусковой крючок побега
          Я хочу использовать kbhit() для функции "Press any key to continue". Однако после того, как я использовал kbhit() в цикле, нажатая клавиша сохраняется в stdin. Таким образом, в следующем scanf() клавиша, нажатая ранее, появляется на входе.
          Ответить
        • Скорее, копипаста со stackoverflow - точнее, с какого-то ракового сайта, тырящего и машиннопереводящего с него вопросы-ответы.

          А, может, американец пришел за советом к русским хакерам.
          Ответить
          • хуле, написано пером, не вырубишь

            ещё такое есть https://githubmemory.com/
            Ответить
    • Это код для управления АЭС, чтобы был сигнал если какой-то реактор перегрелся?
      Ответить
      • Угу. Причём вызывается из того же потока, что и логика управления стержнями.
        Ответить
        • Пока бип не окончится, аварийная защита не упадёт?
          Ответить
          • так бин не долгий вроде
            Ответить
            • Так тут клавишу ждут ещё.
              Ответить
              • только если _kbhit!
                Ответить
                • Так снаружи while, а температура сама не упадёт...
                  Ответить
                  • а, я не прочитал про тред

                    да, разумеется это будет крутиться вечно, но кода охлаждения то у нас и не предусмотрено
                    Ответить
                • куплю бип, если бы _kbhit!
                  Ответить
      • код управления АЗС
        Ответить
        • https://cs11.pikabu.ru/post_img/big/2018/11/26/9/1543246018197742359.jpg
          Ответить
          • Не держава, а региональная бензоколонка!

            На самом деле подозрительно - стёкла целые
            Ответить
        • Так вот почему у нас в новосибе заправка ёбнула...
          Ответить

    Добавить комментарий