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

Код Enter - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 91, средняя оценка - 4.62
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
17.08.2012, 12:58     Код Enter #1
Как мне прописать условие: если нажата кнопка enter
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.08.2012, 12:58     Код Enter
Посмотрите здесь:

C++ Enter в Edit'e
C++ Ввод без ENTER
C++ Отловить нажатие Enter
C++ Подскажите аски код клавиши ENTER
C++ Реакция на enter
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
17.08.2012, 13:01     Код Enter #2
Примерно вот так:
C++
1
2
3
4
5
char ch;
ch = cin.get();
 
if (ch == '\n')
   cout << "Вы нажали Enter";
Sylar9
-20 / 55 / 2
Регистрация: 04.09.2011
Сообщений: 1,888
Записей в блоге: 1
17.08.2012, 13:16     Код Enter #3
'/n' или Enter это 13
C++
1
2
3
if(ch = 13)
 
 cout << "Вы нажали Enter";
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
17.08.2012, 13:20     Код Enter #4
Цитата Сообщение от Sylar9 Посмотреть сообщение
if(ch = 13)
Неправильно. Это присваивание переменной ch значение 13 и результат всегда будет true
if (ch == 13)
cout << "Вы нажали Enter";
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
17.08.2012, 13:58  [ТС]     Код Enter #5
Цитата Сообщение от Sylar9 Посмотреть сообщение
'/n' или Enter это 13
C++
1
2
3
if(ch = 13)
 
 cout << "Вы нажали Enter";
Может подскажете сайт где обо всех кнопках так написано.. Я что то найти не могу
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
17.08.2012, 14:40     Код Enter #6
http://ru.wikipedia.org/wiki/ASCII

Не по теме:

На этой страничке внизу клавиатура нарисована и коды каждой клавиши

Игорь с++
 Аватар для Игорь с++
429 / 452 / 15
Регистрация: 26.01.2011
Сообщений: 2,029
17.08.2012, 14:49     Код Enter #7
Цитата Сообщение от Intel~lect Посмотреть сообщение
Неправильно. Это присваивание переменной ch значение 13 и результат всегда будет true
позвольте не согласиться , например вот код -
C++
1
2
3
4
if(!kbhit()){
ch=getch();
if(ch==13){MessageBox(hwnd,"Enter","",MB_OK);}
}
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
17.08.2012, 15:00     Код Enter #8
Цитата Сообщение от Игорь с++ Посмотреть сообщение
if(!kbhit()){
ch=getch();
if(ch==13){MessageBox(hwnd,"Enter","",MB_OK);}
}
Все правильно. У вас в условии написано if(ch==13) ... А у Sylar9 if(ch = 13) .... У него в условии не хватает еще одного знака равно = (может быть просто забыл дописать). И получается вместо проверки на равенство происходит присваивание переменной ch значения 13.
Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
17.08.2012, 19:58  [ТС]     Код Enter #9
Цитата Сообщение от Intel~lect Посмотреть сообщение
http://ru.wikipedia.org/wiki/ASCII

Не по теме:

На этой страничке внизу клавиатура нарисована и коды каждой клавиши

Я не знаю что там за коды... В моей программе 80 - это стрелка вниз...
Там все по другому..... Мне нужны стрелки влево и вправо???
Intel~lect
 Аватар для Intel~lect
135 / 124 / 2
Регистрация: 03.07.2012
Сообщений: 355
17.08.2012, 20:23     Код Enter #10
Цитата Сообщение от Egor138 Посмотреть сообщение
В моей программе 80 - это стрелка вниз...
А у меня 80 это английская буква P
C++
1
cout << char(80) << endl;
KostyaKulakov
Заблокирован
17.08.2012, 20:26     Код Enter #11
Как перехватить нажатие клавиш?
Intel~lect
17.08.2012, 20:34
  #12

Не по теме:

KostyaKulakov, А почему у меня все по другому?
cout << char(80) << endl; Печатает букву P, а не стрелку

Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
17.08.2012, 20:59  [ТС]     Код Enter #13
Цитата Сообщение от Intel~lect Посмотреть сообщение
А у меня 80 это английская буква P
C++
1
cout << char(80) << endl;
Вот посмотрите:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#include <iostream>
#include <conio.h>
#include <windows.h>
 
int main()
{
        int x=0, y=0;
        int step=10;
        char c;
 
        SetCursorPos(x, y);
        do {
                c=getch();
                switch(c){
                        case 75: SetCursorPos(x-=step, y); std::cout << "LEFT.\n"; break;
                        case 77: SetCursorPos(x+=step, y); std::cout << "RIGHT.\n"; break;
                        case 72: SetCursorPos(x, y-=step); std::cout << "UP.\n"; break;
                        case 80: SetCursorPos(x, y+=step); std::cout << "DOWN.\n"; break;
                }
        } while(c != 27); // Esc
 
        system("pause");
        return 0;
}
Intel~lect
17.08.2012, 21:06
  #14

Не по теме:

Egor138, Спасибо. Там кстати когда нажимаеш на стрелку вниз и букву P, то результат один и тот же
Я раньше не знал что разные клавиши реагируют одинаково

Egor138
 Аватар для Egor138
30 / 11 / 2
Регистрация: 10.08.2012
Сообщений: 619
Записей в блоге: 2
17.08.2012, 21:21  [ТС]     Код Enter #15
Цитата Сообщение от Intel~lect Посмотреть сообщение

Не по теме:

Egor138, Спасибо. Там кстати когда нажимаеш на стрелку вниз и букву P, то результат один и тот же
Я раньше не знал что разные клавиши реагируют одинаково

А коды цифр от нуля до 9 мне смотреть по вашей ссылке, или это не то?

Добавлено через 3 минуты
У меня не реагирует на коды...
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.08.2012, 00:08     Код Enter
Еще ссылки по теме:

C++ Выводить в ответ на введенный символ его код, пока не будет нажат enter
Выводить в ответ на Введенный символ его код, пока не будет нажат enter C++
Решить пример, в котором цифры заменены буквами: "enter + enter = абзац" C++

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

Или воспользуйтесь поиском по форуму:
cossack5
54 / 48 / 1
Регистрация: 02.08.2012
Сообщений: 127
18.08.2012, 00:08     Код Enter #16
Еще есть вин апи. Можно перехватить в функции WndProc (callback-функция окна):
C++
1
2
3
4
5
6
7
8
9
10
11
12
long FAR PASCAL WindowProc( HWND hWnd, UINT message, 
                            WPARAM wParam, LPARAM lParam )
{
switch(message)
{
case WM_KEYDOWN: 
if (wParam==VK_ENTER) {
// действия 
}
break;
}
.....
Yandex
Объявления
18.08.2012, 00:08     Код Enter
Ответ Создать тему
Опции темы

Текущее время: 13:10. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru