Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.70/40: Рейтинг темы: голосов - 40, средняя оценка - 4.70
2 / 2 / 1
Регистрация: 23.06.2014
Сообщений: 110
1

Управление кнопками в консоли

06.02.2015, 15:23. Показов 7721. Ответов 7
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
int a;
    int b = 1;
    
    for (int i = 0; true; i++)
    {
        a = _getch();
        if (a == 224)
            b = 2;
 
        cout << b << endl;
    }

Есть цикл как сделать что-бы он не ждал когда ты кнопку нажмешь а крутил и выводил на экран b а когда ты нажимаешь кнопку он меняет значения b
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.02.2015, 15:23
Ответы с готовыми решениями:

Управление кнопками
Здраствуйте, решил разобраться в этой теме. Как сделать так, чтобы при нажатии кнопки &quot;Вниз&quot; на...

Управление стрелками в консоли
Как сделать управление стрелками что-бы когда нажимаешь стрелочку выполнялось опридельоное действие...

Управление курсором в консоли
Всем привет. Интересует вопрос: можно ли управлять курсором в консоли, то есть управлять положением...

Управление текстом и цветом к консоли
Добрый вечер! Интересуют 2 вопроса: 1) Как в консоли оформить шапку (большие буквы вверху)? 2)...

7
Котовчанин
942 / 482 / 200
Регистрация: 16.02.2010
Сообщений: 3,338
Записей в блоге: 37
06.02.2015, 15:29 2
C++
1
while(true) {}
0
2 / 2 / 1
Регистрация: 03.02.2015
Сообщений: 23
06.02.2015, 15:30 3
Если я правильно понял что тебе необходимо, ты должен ожидать нажатие кнопки в другом thread (извеняюсь, но не знаю как по русски)

Да, и замени цикл на while(true)
0
Модератор
Эксперт С++
13507 / 10757 / 6412
Регистрация: 18.12.2011
Сообщений: 28,712
06.02.2015, 15:55 4
Лучший ответ Сообщение было отмечено Antosha как решение

Решение

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
int b=1;
while(true)
{
  if(kbhit())
  {
     int a = _getch();
     if (a == 224)
         b = 2;
     cout << b << endl;
  }else
  {
      // чего-нибудь делать если нет нажатой клавиши
  }
}
1
267 / 170 / 40
Регистрация: 25.08.2014
Сообщений: 1,087
Записей в блоге: 1
06.02.2015, 16:02 5
_getch() - блокирующая функция.
_getch_nolock() - не блокирующая.
Что вернёт последняя если ты ничего не нажимал - хз. Я бы рекомендовал в отдельном потоке запустить цикл для _getch(), который бы меня значение по адресу, с которого бы ты тянул значение для вывода на экран.
0
2 / 2 / 1
Регистрация: 23.06.2014
Сообщений: 110
06.02.2015, 16:12  [ТС] 6
zss, что такое "kbhit()"?
0
3 / 3 / 3
Регистрация: 25.01.2015
Сообщений: 25
06.02.2015, 16:20 7
Цитата Сообщение от Antosha Посмотреть сообщение
что такое "kbhit()"?
Проверяет наличие ввода с клавиатуры (нажатие клавиши).
C++
1
2
#include <conio.h>
      int kbhit(void);
0
2 / 2 / 1
Регистрация: 23.06.2014
Сообщений: 110
06.02.2015, 16:23  [ТС] 8
ScorpiN, zss, Спасибо большое! то что я хотел
0
06.02.2015, 16:23
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
06.02.2015, 16:23
Помогаю со студенческими работами здесь

Управление началом ввывода в консоли
Ребят, подскажите, что нужно использовать, чтобы управлять курсором вывода в окне консоли....

Меню в консоли, управление стрелками
Подскажите пожалуйста, как сделать меню типа: пункт 1 пункт 2 и так далее Чтобы между пунктами...

Управление кнопками в MessageBox
В С++ можно благодаря переменной управлять кнопками элемента в MessageBox Вот мой код по С++ ...

Управление кнопками на ленте
Доброе время суток. Не подскажите, есть ли возможность изменять размерность кнопок в Excel 7 - 10....


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
8
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru