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

Ожидание нажатия клавиши - C++

Восстановить пароль Регистрация
 
Рейтинг: Рейтинг темы: голосов - 269, средняя оценка - 4.61
sniperni
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 46
13.02.2012, 18:58     Ожидание нажатия клавиши #1
А подскажите пожалуйста, как в С++ сделать так, чтобы программа, написанная в консольных приложениях, продолжала свою работу только после нажатия клавиши Enter??? Ну например работает-работает прога,вывела что-то на экран, а потом пишет:
cout<<"Для продолжения работы программы нажмите Enter!";
..........................
Вот как это реализовать в программе??? что должно быть написано вместо моих точек??? Подскажите ПОЖАЛУЙСТА!!! Заранее ОГРОМНОЕ СПАСИБО!!!
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
IFree Host
Заблокирован
13.02.2012, 19:01     Ожидание нажатия клавиши #2
Самое простое getchar();
После нажатия клавиши Enter программа продолжит выполнение

Можно также getch();

C
1
2
3
4
char c;
 
c = getch();
if (c == 32) ...
Но в твоем случае первый вариант проще.
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
13.02.2012, 19:03     Ожидание нажатия клавиши #3
для любой нажатой
C++
1
system("pause");
C++
1
2
cout<<"Для продолжения работы программы нажмите любую клавишу...";
cin.get();
sniperni
0 / 0 / 0
Регистрация: 28.11.2011
Сообщений: 46
13.02.2012, 19:10  [ТС]     Ожидание нажатия клавиши #4
Спасибо за ответ!!! но я все же воспользовался функцией getch();
IFree Host
Заблокирован
13.02.2012, 19:12     Ожидание нажатия клавиши #5
Тогда, вот тебе к нему еще полезные коды клавиш

13 Enter
27 escape
8 backspace
32 space

72 Стрелка вверх
80 Стрелка вниз
75 Стрелка влево
77 Стрелка вправо

115 ctrl-стрелка влево
116 ctrl-стрелка вправо

82 ins (вставка)
83 del (удалить)

73 pgup (страница вверх)
81 pgdn (страница вниз)
118 ctrl-pgdn (страница вниз)
132 ctrl - pgup (страница вверх)

71 home (начало)
79 end (конец)
119 ctrl-home (начало)
117 ctrl-end (конец)

15 shift tab
16-25 alt - q/w/e/r/t/y/u/i/o/p
30-38 alt - a/s/d/f/g/h/j/k/l
44-50 alt - z/x/c/v/b/n/m

59-68 Ключи f1-f10 (нельзя использовать клавиши с изменяемой функцией)
84-93 f11-f20 (shift-f1 - shift-f10)
94-103 f21-f30 (ctrl-f1 - ctrl-f10)

104-113 f31-f40 (alt-f1 - alt-f10)

133 f11
134 f12
135 shift-f11
136 shift-f13
137 ctrl-f11
138 ctrl-f12
139 alt-f11
140 alt-f12

114 ctrl-prtsc (копия с экрана)
retmas
Жарю без масла
803 / 685 / 143
Регистрация: 13.01.2012
Сообщений: 1,580
13.02.2012, 19:27     Ожидание нажатия клавиши #6
Цитата Сообщение от sniperni Посмотреть сообщение
Спасибо за ответ!!! но я все же воспользовался функцией getch();
дело ваше, но cin.get(); тоже не вернет управление программе без нажатия ENTER
go
Эксперт C++
3582 / 1362 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
13.02.2012, 19:28     Ожидание нажатия клавиши #7
Цитата Сообщение от retmas Посмотреть сообщение
дело ваше, но cin.get(); тоже не вернет управление программе без нажатия ENTER
cin.get() да, а getch() вернет

Цитата Сообщение от retmas Посмотреть сообщение
system("pause");
Ну это только под виндовс.
PashaShulga
1 / 1 / 0
Регистрация: 15.06.2010
Сообщений: 37
24.03.2013, 14:18     Ожидание нажатия клавиши #8
Подскажите пожалуйста.
Данный код останавливает выполнение программы до первого нажатия на любую клавишу!? Мне необходимо получить код: если нужная кнопка не нажата не выполнять никаких действий, после нажатия на нужную кнопку выполнять программу дальше.
BumerangSP
 Аватар для BumerangSP
4283 / 1405 / 121
Регистрация: 16.12.2010
Сообщений: 2,941
Записей в блоге: 3
24.03.2013, 17:48     Ожидание нажатия клавиши #9
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
    std::cout<<"Before"<<'\n';
    char ch; 
    do {
        std::cin>>ch;
    } while (ch != 't'); // нужная клавиша
    std::cout<<"After"<<'\n';
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2013, 17:53     Ожидание нажатия клавиши
Еще ссылки по теме:

Обработка нажатия клавиши UP C++
Убрать ожидание нажатия клавиши Enter при выводе C++
Ожидание клавиши Enter - getch не работает C++

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

Или воспользуйтесь поиском по форуму:
R0adTr1p
0 / 0 / 1
Регистрация: 12.02.2013
Сообщений: 11
24.03.2013, 17:53     Ожидание нажатия клавиши #10
Сообщение было отмечено автором темы, экспертом или модератором как ответ
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <Windows.h>
#include <conio.h>
#include <stdio.h>
 
int main()
{
    int i = 0;
    while(true)
    {
        while (getch())
        {
            printf("%d\n", i);
            i++;
        }
        Sleep(40); // не советую ставить меньше 10
    }
    return 0;
}
Yandex
Объявления
24.03.2013, 17:53     Ожидание нажатия клавиши
Ответ Создать тему
Опции темы

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