Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.51/61: Рейтинг темы: голосов - 61, средняя оценка - 4.51
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390

Операция при нажатии клавиши

25.07.2009, 19:58. Показов 12982. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
подскажите как при помощьи клавиши сделать какую то задачу...например при Y сделать что то а при N например закрыть окно...это надо вроде через чар сделать но как, не знаю многопопробовал, не получается...
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
25.07.2009, 19:58
Ответы с готовыми решениями:

Вывод информации при нажатии клавиши
Разработка программы для вывода информации(о клавиши ) при нажатии клавиши на клавиатуре..))) вообщем что посоветуете??? сделать...

Перехват кода клавиши при нажатии
Напомните пожалуйста как получить цифровой код клавиши по ее нажатию. там воде что-то с функцией getc()...

Остановка программы при нажатии клавиши BS
Напишите программу, выполняющую вывод на экран произвольных наборов символов до тех пор, пока не будет нажата клавиша BS Заранее...

11
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
25.07.2009, 20:03
C++
1
2
3
4
5
6
7
8
9
char c;
c = cin.get();
switch(c)
{
case 'Y': FirstAction(); break;
case 'N': SecondAction(); break;
/* не первый и не второй вариант */
default: ThirdAction(); break;
}
Если делать без подтверждающей клавиши enter, необхожимо подключить DOS библиотеку conio.h и вместо
C++
1
c = cin.get();
написать
C++
1
c = getch();
1
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
25.07.2009, 20:13  [ТС]
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
default: ThirdAction(); break;
аэ то для чего??

Добавлено через 2 минуты 36 секунд
3 ошибки:
Warning 1 warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details. d:\Projects\helps\helps\helps.cpp 11 helps


Error 2 error C3861: 'FirstAction': identifier not found d:\Projects\helps\helps\helps.cpp 14 helps


Error 3 error C3861: 'SecondAction': identifier not found d:\Projects\helps\helps\helps.cpp 15 helps
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
25.07.2009, 20:18
Цитата Сообщение от @lex Посмотреть сообщение
3 ошиб


Цитата Сообщение от @lex Посмотреть сообщение
getch
это предупреждение, что getch - posix не совместима.. т.е. на линухе не прокатит...

Цитата Сообщение от @lex Посмотреть сообщение
'FirstAction'
это выдуманная мной функция)) типа первое действие) ты ж сам спрашивал...

Цитата Сообщение от @lex Посмотреть сообщение
'SecondAction'
аналогично


Цитата Сообщение от @lex Посмотреть сообщение
аэ то для чего??
default выполняется тогда, когда не выполнилось ни одно из условий
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
25.07.2009, 20:22
Warning 1 warning C4996: 'getch': The POSIX name for this item is deprecated. Instead, use the ISO C++ conformant name: _getch. See online help for details. d:\Projects\helps\helps\helps.cpp 11 helps
Английский знаешь ?
Тут написано, что рекомендуется использовать _getch() вместо getch().

FirstAction(), SecondAction(), ThirdAction() - это твои функции, которые ты сам должен написать.

Добавлено через 1 минуту 36 секунд
это предупреждение, что getch - posix не совместима.. т.е. на линухе не прокатит...
Вообще-то там написано не это.
1
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
25.07.2009, 20:23  [ТС]
Monte-Cristo, 2 из этих понял))))))))а на счет этих actionov не совсем...
то есть так....если У значит первый акшон...если так то что такое breack?

Добавлено через 53 секунды
odip, а объязательно функции?
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
25.07.2009, 20:29
Цитата Сообщение от odip Посмотреть сообщение
Вообще-то там написано не это.
да ну? я просто до конца не перводил... а применять getch() или _getch() я большей разницы не вижу.. в серьезный проектах ее не используют, а некоторые часто пишут в VS 6.0 которая не поддерживает _getch()... для совместимости лучше getch() (имхо)

Цитата Сообщение от @lex Посмотреть сообщение
Monte-Cristo, 2 из этих понял))))))))а на счет этих actionov не совсем...
то есть так....если У значит первый акшон...если так то что такое breack?
даю установку: сейчас ты открываешь книженку по С++ и чатиешь про оператор switch(). на пальцах его дейсвтие не объяснишь
0
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
25.07.2009, 20:33  [ТС]
Monte-Cristo,сам не додумался...жаль что в книжке нету
0
Эксперт С++
 Аватар для odip
7176 / 3234 / 82
Регистрация: 17.06.2009
Сообщений: 14,164
25.07.2009, 20:40
а применять getch() или _getch() я большей разницы не вижу
Разница в том, что getch() deprecated.
в серьезный проектах ее не используют
Скорее всего да
пишут в VS 6.0 которая не поддерживает
Visual Studio 6.0 лучше вообще не использовать, так как не соответствует стандарту C++. Хорошая совместимость со стандартом у VS2005.

Добавлено через 5 минут 41 секунду
odip, а объязательно функции?
Нет конечно - убери функцию и пиши свой код.

2@lex: Какой у тебя компилятор ?
0
 Аватар для Monte-Cristo
2816 / 1408 / 107
Регистрация: 07.03.2009
Сообщений: 4,446
25.07.2009, 20:42
Цитата Сообщение от odip Посмотреть сообщение
Разница в том, что getch() deprecated.
ну и? goto тоже не рекомендуют применять..
функция strcpy() тоже не безопасна... так ты что применяешь strcpy_s()?

Цитата Сообщение от odip Посмотреть сообщение
Visual Studio 6.0 лучше вообще не использовать, так как не соответствует стандарту C++. Хорошая совместимость со стандартом у VS2005.
большинсвто студентов программируют или в VS 6.0, или в Borland C 3.1. Стандарты этих компиляторов очень устарелые, и не поддерживают _getch().
0
Maniac
Эксперт С++
 Аватар для ISergey
1464 / 965 / 160
Регистрация: 02.01.2009
Сообщений: 2,820
Записей в блоге: 1
25.07.2009, 20:51
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
для совместимости лучше getch()
Для совместимости лучше вообще не использовать getch() так как стандартом не поддержуется.
1
 Аватар для AnonymC
1183 / 468 / 87
Регистрация: 23.06.2009
Сообщений: 6,390
25.07.2009, 22:31  [ТС]
Цитата Сообщение от odip Посмотреть сообщение
Какой у тебя компилятор ?
vs08
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
25.07.2009, 22:31
Помогаю со студенческими работами здесь

Вызов функции при нажатии клавиши
Доброго всем дня! Мучает меня вопрос, как сделать так, чтобы функция function3 вызывалась в любой момент выполнения программы при нажатии...

Вывод цвета при нажатии определенной клавиши
Введите символ и введите на печать соответствующий ему цвет. Например, символу "г" соответствует "голубой цвет". Если...

При нажатии соответствующей клавиши запустить .exe
Помогите ,пожалуйста! У меня на С++ написана маленькая менюшечка,нужно что бы при нажатии соответствующей клавиши запускался .exe . Как...

Последовательный сдвиг текста при нажатии клавиши
Добрый день. Прошу помощи в решении лабы. Задание: Составить программу, последовательно сдвигающую текст на экране ПЭВМ вверх на одну...

Выбор функции при нажатии определённой клавиши
Итак, хочу написать код, который бы находил производную функции. Нужно только лишь для 4 функций. Для пользователя выводятся все эти...


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Логарифм записывается как: (x-2)log(x^2+2) - означает логарифм (x^2+2) по основанию (x-2). Унарный минус обозначается как ! в-строка - входное арифметическое выражение в инфиксной(обычной). . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru