Форум программистов, компьютерный форум CyberForum.ru
Наши страницы

Проверка на нажатие стрелок на клавиатуре - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Подстановка вычисляемого типа в шаблонах http://www.cyberforum.ru/cpp-beginners/thread1179428.html
Товарищи. Помогите разобраться с шаблонами. С шаблонами начал разбираться вчера, и потому излагаю задачу полностью, дабы не быть непонятым. Задача - реализовать операцию матричного умножения....
C++ Непонятная остановка программы Не могу понять в чем причина торможения программы. Запускаю ее, она виснет и не завершается. Все, что удалось выяснить - проблема с деструктором MATRIX. Просто если я его удаляю, то программа... http://www.cyberforum.ru/cpp-beginners/thread1179408.html
Задача о шестеренках C++
Всем доброго времени суток. Есть задача: дано n шестеренок, вводится с клавиатуры номер шестеренки, с которой начинаем ход. Первая шестеренка поворачивается по часовой стрелке, смыкающаяся с...
Шаблон класса, линейный однонаправленный список C++
Нужна помощь в создание методов для класса. Для инициализации следующего элемента, удаления елемента и поиска. Помощь ссылкой на то как можно реализовать приветствуется. #include "stdafx.h"...
C++ Структурные задачи, нужна помщь http://www.cyberforum.ru/cpp-beginners/thread1179393.html
Ко всем задачам нужно применить следующую структуру «Пациент»: фамилия, имя, год рождения, номер телефона, домашний адрес (почтовый индекс, страна, область, район, город, улица, дом, квартира), номер...
C++ Поясните синтаксис - ( std::string& x: bar ) Наткнулся здесь на использование двоеточия для какого-то рода инициализации ссылки, но не понимаю ни синтаксиса, ни механизма работы: std::vector<std::string> foo = {"air","water","fire","earth"};... подробнее

Показать сообщение отдельно
Krock21rus
74 / 74 / 19
Регистрация: 18.11.2013
Сообщений: 373
Завершенные тесты: 2
18.05.2014, 11:38
у каждой стрелочки есть свой код, вверх это 72, влево 75, вправо 78 или 77, вниз 80, для проверки скомпилируй и запусти, и жми клавишу, код которой хочешь узнать

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
#include <iostream>
 
int main()
{
char a;
while(true)
{
if(kbhit()) // kbghit() возвращает true, если была нажата хоть какая клавиша
{ // и эта клавиша попадает в a через getch();
a = _getch(); // getch(); не в visual studio этот вариант
std::cout << (int)a << std::endl; //printf("%d\n",a); принтф более предпочтительнее 
}
}
}
Добавлено через 6 минут
вот более оптимальный код:
он лучше, т.к. не нагружает процессор и в прошлом сообщении я код не проверял и не добавил conio.h, а этот код я сам проверил
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
#include <iostream>
#include <conio.h>
 
using namespace std;
 
int main()
{
    char a;
    while((a = getch())!=27) // выходит, если клавиша, которую ввёл равна 27(27 - Esc)
    {
        cout << (int)a << endl; /* выводится код самой клавиши с преобразованием в число, иначе бы вывелись символы H M и что-то ещё, 1ое число будет -37, это означает что какая-то стрелка, а потом даётся код этой стрелки */
    }
}
Думаю в конце твоей программы с switch() у тебя проблем не будет
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru