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

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 73, средняя оценка - 4.71
AnonymC
1162 / 444 / 23
Регистрация: 23.06.2009
Сообщений: 6,282
Завершенные тесты: 1
#1

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

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

подскажите как при помощьи клавиши сделать какую то задачу...например при Y сделать что то а при N например закрыть окно...это надо вроде через чар сделать но как, не знаю многопопробовал, не получается...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
25.07.2009, 19:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Операция при нажатии клавиши (C++):

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

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

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

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

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

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

11
Monte-Cristo
2789 / 1375 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
25.07.2009, 20:03 #2
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
1162 / 444 / 23
Регистрация: 23.06.2009
Сообщений: 6,282
Завершенные тесты: 1
25.07.2009, 20:13  [ТС] #3
Цитата Сообщение от 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
2789 / 1375 / 30
Регистрация: 07.03.2009
Сообщений: 4,446
25.07.2009, 20:18 #4
Цитата Сообщение от @lex Посмотреть сообщение
3 ошиб


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

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

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


Цитата Сообщение от @lex Посмотреть сообщение
аэ то для чего??
default выполняется тогда, когда не выполнилось ни одно из условий
0
odip
Эксперт С++
7157 / 3219 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
25.07.2009, 20:22 #5
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 не совместима.. т.е. на линухе не прокатит...
Вообще-то там написано не это.
0
AnonymC
1162 / 444 / 23
Регистрация: 23.06.2009
Сообщений: 6,282
Завершенные тесты: 1
25.07.2009, 20:23  [ТС] #6
Monte-Cristo, 2 из этих понял))))))))а на счет этих actionov не совсем...
то есть так....если У значит первый акшон...если так то что такое breack?

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

Цитата Сообщение от @lex Посмотреть сообщение
Monte-Cristo, 2 из этих понял))))))))а на счет этих actionov не совсем...
то есть так....если У значит первый акшон...если так то что такое breack?
даю установку: сейчас ты открываешь книженку по С++ и чатиешь про оператор switch(). на пальцах его дейсвтие не объяснишь
0
AnonymC
1162 / 444 / 23
Регистрация: 23.06.2009
Сообщений: 6,282
Завершенные тесты: 1
25.07.2009, 20:33  [ТС] #8
Monte-Cristo,сам не додумался...жаль что в книжке нету
0
odip
Эксперт С++
7157 / 3219 / 59
Регистрация: 17.06.2009
Сообщений: 14,164
25.07.2009, 20:40 #9
а применять getch() или _getch() я большей разницы не вижу
Разница в том, что getch() deprecated.
в серьезный проектах ее не используют
Скорее всего да
пишут в VS 6.0 которая не поддерживает
Visual Studio 6.0 лучше вообще не использовать, так как не соответствует стандарту C++. Хорошая совместимость со стандартом у VS2005.

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

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

Цитата Сообщение от odip Посмотреть сообщение
Visual Studio 6.0 лучше вообще не использовать, так как не соответствует стандарту C++. Хорошая совместимость со стандартом у VS2005.
большинсвто студентов программируют или в VS 6.0, или в Borland C 3.1. Стандарты этих компиляторов очень устарелые, и не поддерживают _getch().
0
ISergey
Maniac
Эксперт С++
1375 / 886 / 52
Регистрация: 02.01.2009
Сообщений: 2,661
Записей в блоге: 1
25.07.2009, 20:51 #11
Цитата Сообщение от Monte-Cristo Посмотреть сообщение
для совместимости лучше getch()
Для совместимости лучше вообще не использовать getch() так как стандартом не поддержуется.
1
AnonymC
1162 / 444 / 23
Регистрация: 23.06.2009
Сообщений: 6,282
Завершенные тесты: 1
25.07.2009, 22:31  [ТС] #12
Цитата Сообщение от odip Посмотреть сообщение
Какой у тебя компилятор ?
vs08
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.07.2009, 22:31
Привет! Вот еще темы с ответами:

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

Возврат программы в исходное состояние при нажатии определенной клавиши - C++
Написал код,теперь нужно что бы программа после нажатия определенной кнопки возвращала к началу! Вот код на всякий случай! int...

Воспроизведение звука системным динамиком при нажатии определенной клавиши - C++
Добрый вечер! Кто знает как сделать, чтоб при нажатии клавиши "." срабатывал Beep (600,400), а при нажатии "-" Beep(600,900), например...

Циклическая программа (при нажатии клавиши повторяет операцию, изменяя данные) - C++
Нужно написать программу, чтобы при каждом повторном нажатии определённой клавиши, программа выполняла какую-либо операцию с изменяющимися...


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

Или воспользуйтесь поиском по форуму:
12
Yandex
Объявления
25.07.2009, 22:31
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru