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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Подстановка вычисляемого типа в шаблонах http://www.cyberforum.ru/cpp-beginners/thread1179428.html
Товарищи. Помогите разобраться с шаблонами. С шаблонами начал разбираться вчера, и потому излагаю задачу полностью, дабы не быть непонятым. Задача - реализовать операцию матричного умножения. При этом данные в умножаемых матрицах могут иметь разные типы. Например, комплексный флоат и беззнаковое целое. Предположим, что операции умножения для всех возможных вариантов определены. ...
C++ Непонятная остановка программы Не могу понять в чем причина торможения программы. Запускаю ее, она виснет и не завершается. Все, что удалось выяснить - проблема с деструктором MATRIX. Просто если я его удаляю, то программа выполняется и закрывается, а тут выводит матрицу и виснет typedef class obj1 { public: int sizew; int sizeh; int** matrix; obj1(int w, int h):sizew(w),sizeh(h){create();} obj1( ... http://www.cyberforum.ru/cpp-beginners/thread1179408.html
Задача о шестеренках C++
Всем доброго времени суток. Есть задача: дано n шестеренок, вводится с клавиатуры номер шестеренки, с которой начинаем ход. Первая шестеренка поворачивается по часовой стрелке, смыкающаяся с ней(вторая шестеренка) должна поворачиваться против часовой стрелке, смыкающаяся со второй шестеренкой(третья шестеренка) должная поворачиваться по часовой стрелке и т.д. Если выходит так, что рядом стоящие...
Шаблон класса, линейный однонаправленный список C++
Нужна помощь в создание методов для класса. Для инициализации следующего элемента, удаления елемента и поиска. Помощь ссылкой на то как можно реализовать приветствуется. #include "stdafx.h" #include <iostream> #include "spisok.h" using namespace std; int main() { setlocale(LC_ALL, "");
C++ Структурные задачи, нужна помщь http://www.cyberforum.ru/cpp-beginners/thread1179393.html
Ко всем задачам нужно применить следующую структуру «Пациент»: фамилия, имя, год рождения, номер телефона, домашний адрес (почтовый индекс, страна, область, район, город, улица, дом, квартира), номер медицинской карты, группа крови. 1. Выбрать предметную область для базы данных и предложить структуру для описания записей базы данных. Выбранная структура должна иметь не менее пяти полей...
C++ Поясните синтаксис - ( std::string& x: bar ) Наткнулся здесь на использование двоеточия для какого-то рода инициализации ссылки, но не понимаю ни синтаксиса, ни механизма работы: std::vector<std::string> foo = {"air","water","fire","earth"}; std::vector<std::string> bar (4); // moving ranges: std::cout << "Moving ranges...\n"; std::move ( foo.begin(), foo.begin()+4, bar.begin() ); //... std::cout << "bar contains "... подробнее

Показать сообщение отдельно
Krock21rus
73 / 73 / 19
Регистрация: 18.11.2013
Сообщений: 369
Завершенные тесты: 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() у тебя проблем не будет
 
Текущее время: 21:24. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru