Форум программистов, компьютерный форум 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
19.05.2014, 10:48     Проверка на нажатие стрелок на клавиатуре
я забыл сказать: -32 означает, что была нажата какая-то стрелочка, а 72,75,77,80 это уже код стрелочки, можно сделать так:

C++
1
2
3
4
5
6
7
8
9
if(a=-32)//если была нажата какая-то стрелочка
switch(a) // через switch делаем действия в зависимости от того, какая это стрелочка
{
case 72:
case 75:
case 77:
case 80:
default:
}
Добавлено через 7 минут
Цитата Сообщение от Michall Посмотреть сообщение
Не понятно, что ты хочешь. Стрелочка генерирует сразу два символа: "-32" и еще один.
зачем всё усложнять, создавать отдельную int, хочу сказать, вот есть переменная ch - char в ней хранится какой-либо символ, он в ней хранится в коде, в битах, в 1 байте, то есть имеет 255 разных значений, и этот код может быть от -128 до 127.
захотим ch присвоить символ А: пишем ch = 'A', захотим ему присвоить символ 1 пишем ch = '1', но, если напишем ch = 1, то ch присвоится код 1, который вовсе не обозначает символ 1, если попытаешься его вывести, поэтому, символ будет сравниваться по коду, если то, с чем он сравнивается, не знаключено в ' '
вот код c++, проанализируй его, сравнение в while идёт с кодом 27, а не с символом '27', которого не существует
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, это означает что какая-то стрелка, а потом даётся код этой стрелки */
    }
}
Добавлено через 58 секунд
напиши мне в лс позже, обьясню всё
 
Текущее время: 02:28. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru