1 / 1 / 4
Регистрация: 08.08.2013
Сообщений: 86
1

_kbhit() как удалить символ, когда нажимаем клавишу?

30.06.2015, 18:53. Показов 975. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#include <iostream>
#include <conio.h>
using namespace std;
void main()
{
    char  point = '*';
    do
    {
        if (_kbhit())
        {
            cout << endl;
        }
        cout << point;
        _sleep(1000);
    } while (1);
 
 
 
}
есть код, если нажата клавиша, звездочки печатаются на новой строке.

ПРоблема: когда первый раз нажимаю клавишу, _kbhit() начинает постоянно возвращать значение не равное нулю.

Как отчистить что-то, куда смотрит ета функция, что бы после нажатой клавиши, функция _kbhit() вновь возвращала ноль, если клавиша не нажата во второй раз?

Добавлено через 4 минуты
cin.clear() не работает
cin.sync() не работает
cout.clear() не работает!

Добавлено через 49 секунд
Как блиН, удалить все символЬІ.
Куда они заносятся, когда нажимается кнопка на клавиатуре?!
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.06.2015, 18:53
Ответы с готовыми решениями:

Как узнать, когда пользователь нажал на левую клавишу мыши?
Пишу программу автокликер.Мне надо узнать когда пользователь нажал на левую клавишу мыши. Как это...

Строка: Как удалить начальный символ в строке и добавить тот же символ (который удалили) в конец строки?
Как удалить начальный символ в строке и добавить тот же символ (который удалили) в конец строки? ...

Если длина строки четная, то удалить каждый второй символ, если нечетная, то удалить первый и последний символ
Помогите пжл. решить задачу. Дана строка если ее длина четная то удалить каждый второй символ,...

Кавычки('') и апострофы ('') ставятся только когда нажмешь ДВА раза на соответствующую клавишу
Есть такая фигня ,что когда набиваешь программный код ,то кавычки('') и апострофы ('') ставятся...

5
Заблокирован
30.06.2015, 18:57 2
C++
1
2
3
 if (_kbhit())
        {
             if(!getch())getch();
0
1 / 1 / 4
Регистрация: 08.08.2013
Сообщений: 86
30.06.2015, 19:01  [ТС] 3
А как, например, если я нажал 10 раз клавишу, 10 раз вЬІполнится блок if.
А как удалить все єти лишние нажатЬІе клавиши?
0
Заблокирован
30.06.2015, 19:03 4
C++
1
2
3
4
if (_kbhit())
        {
             while(_kbhit())
             if(!_getch()) _getch();
0
1 / 1 / 4
Регистрация: 08.08.2013
Сообщений: 86
30.06.2015, 19:12  [ТС] 5
А как, например, если я нажал 10 раз клавишу, 10 раз вЬІполнится блок if.
А как удалить все єти лишние нажатЬІе клавиши?

Добавлено через 52 секунды
Цитата Сообщение от MansMI Посмотреть сообщение
if (_kbhit())
* * * * {
* * * * * * *while(_kbhit())
* * * * * * *if(!_getch()) _getch();
А как, например, если я нажал 10 раз клавишу, 10 раз вЬІполнится блок if.
А как удалить все єти лишние нажатЬІе клавиши?

Добавлено через 7 минут
ОТВЕТЕ МНЕ!!!
0
52 / 52 / 23
Регистрация: 01.06.2015
Сообщений: 189
01.07.2015, 02:53 6
Выводит "Action_n" при нажатии клавиши:

C++
1
2
3
4
5
6
7
8
    int i=0;
    do{
        if(_kbhit()){
            _getch();
            cout << "Action_"<< i << endl;
            i++;
        }
    }while(1);
Цитата Сообщение от Spirit370 Посмотреть сообщение
А как удалить все єти лишние нажатЬІе клавиши?
О каких клавишах идет речь?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
01.07.2015, 02:53
Помогаю со студенческими работами здесь

Как сбросить значение kbhit()?
Доброго времени суток. Появилась следующая проблема. Экспериментируя с функцией rand(), написал...

Как использовать функцию Kbhit()?
Как я понял, то функция kbhit() сохраняет значение нажатой клавиши в буфере. Подскажите, как...

Как удалить символ
Вот код проги, на экан выводит кол-во числ, затем &lt;(скобки); перечисляет числа через запятую и...

PointJS. Как удалить объект, когда он достиг Х У курсора?
Делаю выстрел по ЛКМ if (m.isPress('LEFT')) { var bul = js.game.newCircleObject ({ x:...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru