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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 269, средняя оценка - 4.61
sniperni
1 / 1 / 1
Регистрация: 28.11.2011
Сообщений: 49
#1

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

13.02.2012, 18:58. Просмотров 39385. Ответов 9
Метки нет (Все метки)

А подскажите пожалуйста, как в С++ сделать так, чтобы программа, написанная в консольных приложениях, продолжала свою работу только после нажатия клавиши Enter??? Ну например работает-работает прога,вывела что-то на экран, а потом пишет:
cout<<"Для продолжения работы программы нажмите Enter!";
..........................
Вот как это реализовать в программе??? что должно быть написано вместо моих точек??? Подскажите ПОЖАЛУЙСТА!!! Заранее ОГРОМНОЕ СПАСИБО!!!
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
13.02.2012, 18:58
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Ожидание нажатия клавиши (C++):

Убрать ожидание нажатия клавиши Enter при выводе - C++
Здравствуйте! Подскажите пожалуйста, вот у меня сейчас вывод есть как бы, но он выводит через ентер каждый товар, а мне надо чтоб сразу все...

ожидание нажатия пробела - C++
Добрый вечер, а может уже и ночь, помогите кому не лень, программа должна выполнять свою работу( в моем случае она издает сигналы кода...

Ожидание нажатия определенной кнопки - C++
Нужно чтобы при нажатии кнопки &quot;Enter&quot; происходило определенное действие. Подскажите как реализовать ожидание нажатия нужных кнопок,...

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

Ожидание нажатия кнопки или пауза в выполнении цикла - C++
Есть цикл, внутри него несколько кейсов. Необходимо каким-то образом реализовать &quot;поэтапное&quot; прохождение case-ов внутри цикла. Ф-ия...

Обработка нажатия клавиши - C++
нужно задать нажатию клавиши enter другие функции: private: System::Void textBox1_TextChanged_1(System::Object^ sender,...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
IFree Host
Заблокирован
13.02.2012, 19:01 #2
Самое простое getchar();
После нажатия клавиши Enter программа продолжит выполнение

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

C
1
2
3
4
char c;
 
c = getch();
if (c == 32) ...
Но в твоем случае первый вариант проще.
1
retmas
Жарю без масла
859 / 741 / 164
Регистрация: 13.01.2012
Сообщений: 1,694
13.02.2012, 19:03 #3
для любой нажатой
C++
1
system("pause");
C++
1
2
cout<<"Для продолжения работы программы нажмите любую клавишу...";
cin.get();
1
sniperni
1 / 1 / 1
Регистрация: 28.11.2011
Сообщений: 49
13.02.2012, 19:10  [ТС] #4
Спасибо за ответ!!! но я все же воспользовался функцией getch();
0
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 (копия с экрана)
0
retmas
Жарю без масла
859 / 741 / 164
Регистрация: 13.01.2012
Сообщений: 1,694
13.02.2012, 19:27 #6
Цитата Сообщение от sniperni Посмотреть сообщение
Спасибо за ответ!!! но я все же воспользовался функцией getch();
дело ваше, но cin.get(); тоже не вернет управление программе без нажатия ENTER
0
go
Эксперт C++
3586 / 1366 / 128
Регистрация: 16.04.2009
Сообщений: 4,528
13.02.2012, 19:28 #7
Цитата Сообщение от retmas Посмотреть сообщение
дело ваше, но cin.get(); тоже не вернет управление программе без нажатия ENTER
cin.get() да, а getch() вернет

Цитата Сообщение от retmas Посмотреть сообщение
system("pause");
Ну это только под виндовс.
0
PashaShulga
1 / 1 / 0
Регистрация: 15.06.2010
Сообщений: 37
24.03.2013, 14:18 #8
Подскажите пожалуйста.
Данный код останавливает выполнение программы до первого нажатия на любую клавишу!? Мне необходимо получить код: если нужная кнопка не нажата не выполнять никаких действий, после нажатия на нужную кнопку выполнять программу дальше.
0
BumerangSP
4286 / 1408 / 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';
0
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;
}
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
24.03.2013, 17:53
Привет! Вот еще темы с ответами:

Обработка нажатия клавиши UP - C++
enum key_codes {UP=38}; int_tmain (int argc, THCAR*argv) { keys() enum key_codes key; while (key!=27) { key=_getch(); if...

Выполнение до нажатия клавиши - C++
Как сделать в консольке, чтобы программа выполнялась до нажатия клавиши, при чём она должна работать даже не нажимая ничего...а не ждать...

Имитация нажатия клавиши - C++
Может кто помочь сделать прогу что бы она просто нажимала кнопку &quot;E&quot; с интервалом, 0,1 секунда, и включалась\выключалась по нажатию, на...

проверка нажатия клавиши - C++
Всем привет, начал писать прогу и нет времени искать что либо в интернете... Кто помнит как как проверить что нажата клавиша 1 ?? Смысл...


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

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

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