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

Проверка на нажатие стрелок на клавиатуре - 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
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 секунд
напиши мне в лс позже, обьясню всё
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru