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

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

Войти
Регистрация
Восстановить пароль
 
Рейтинг: Рейтинг темы: голосов - 9, средняя оценка - 4.89
blak
9 / 9 / 0
Регистрация: 05.09.2010
Сообщений: 195
#1

очистка буфера клавиатуры как это сделать? - C++

01.05.2012, 19:23. Просмотров 1176. Ответов 0
Метки нет (Все метки)

как очистить буфер клавиатуры?в программе только первое нажатие запоминается!
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#include <conio.h>
#include <stdio.h>
#include <graphics.h>
void Draw ( int x, int y, int color )
{
setfillstyle ( 1, color ); // сплошная заливка, цвет color
bar ( x, y, x+15, y+15 ); // залитый прямоугольник
}
main()
{
int x, y,f,a,b,q[100],i=0,z=0; // координаты квадрата
initwindow (1024, 600); // открыть окно для графики
setfillstyle(1, COLOR(0,0,0)); // сплошная заливка, синий цвет
bar (0,0 , 799, 799); // залить фон
x = 0; y = 80; // начальные координаты квадрата
setcolor (15);
 
rectangle(350,40,750,440);//дешифратор
line(450,40,450,440);
line(650,40,650,440);
settextstyle(1,0,5);
outtextxy(500,100, "DC");
settextstyle(4,0,1);
outtextxy(510,200, "<2-4>");
line(180,100,350,100);
line(200,200,350,200);
settextstyle(0,0,0);
a=0;b=180;
while (q[i]!=27)
{
q[i]=getch();
switch(q[i])
{ 
//---------------------------------------------------------         
case 49: while ( x + 20 < 350 ) // пока не коснулся границы окна
{
if ( kbhit() ) // если нажата клавиша...
if ( q[i] == 27 ) break; // если Esc, выход из цикла
outtextxy (x, y, "0"); // рисуем желтый квадрат
outtextxy (a, b, "0");
delay ( 20 ); // смотрим на него (задержка)
Draw ( x, y, COLOR(0,0,0) ); // стираем
Draw ( a, b, COLOR(0,0,0) ); // стираем
x ++; a++;// перемещаем
} break;
//-----------------------------------------------------------
case 50: while ( x + 20 < 350 ) // пока не коснулся границы окна
{
if ( kbhit() ) // если нажата клавиша...
if ( getch() == 27 ) break; // если Esc, выход из цикла
outtextxy (x, y, "0"); // рисуем желтый квадрат
outtextxy (a, b, "1");
delay ( 20 ); // смотрим на него (задержка)
Draw ( x, y, COLOR(0,0,0) ); // стираем
Draw ( a, b, COLOR(0,0,0) ); // стираем
x ++; a++;// перемещаем
} break;
//-------------------------------------------------------------
case 51: while ( x + 20 < 350 ) // пока не коснулся границы окна
{
if ( kbhit() ) // если нажата клавиша...
if ( getch() == 27 ) break; // если Esc, выход из цикла
outtextxy (x, y, "1"); // рисуем желтый квадрат
outtextxy (a, b, "0");
delay ( 20 ); // смотрим на него (задержка)
Draw ( x, y, COLOR(0,0,0) ); // стираем
Draw ( a, b, COLOR(0,0,0) ); // стираем
x ++; a++;// перемещаем
} break;
//---------------------------------------------------------------
case 52: while ( x + 20 < 350 ) // пока не коснулся границы окна
{
if ( kbhit() ) // если нажата клавиша...
if ( getch() == 27 ) break; // если Esc, выход из цикла
outtextxy (x, y, "1"); // рисуем желтый квадрат
outtextxy (a, b, "1");
delay ( 20 ); // смотрим на него (задержка)
Draw ( x, y, COLOR(0,0,0) ); // стираем
Draw ( a, b, COLOR(0,0,0) ); // стираем
x ++; a++;// перемещаем
} break;
}
i++;
}
int l=getch();
if (l==55) outtextxy (10, 10, "!!!!!!!!!!!!!!!!!!!!!!!!!!");
getch();
 // закрыть окно для графики
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
01.05.2012, 19:23
Здравствуйте! Я подобрал для вас темы с ответами на вопрос очистка буфера клавиатуры как это сделать? (C++):

Очистка буфера клавиатуры - КАК? - C++
Как очистить буфер клавиатуры? Думал как-то так std::cin.seekg(0, ios::end); но выдаёт ошибку main.cpp|59|error: 'ios' has not...

Очистка буфера клавиатуры - C++
Добрый день. Начал писать тетрис. Возникла проблема с обработкой нажатий клавиш. Если часто нажимать на клавиши, то определенные...

_TCHAR szTestString[] = как сделать тут ввод с клавиатуры и возможно ли это - C++
Вот текст программы // Osi.cpp: определяет точку входа для консольного приложения. #include &quot;stdafx.h&quot; #include &lt;iostream&gt; ...

Очистка буфера! - C++
У меня трабл! В масив записывает непонятное значение!!! Хотя должно запрашывать пользователя!!! Я все проверял!!! Но прошу помочь! Как...

Очистка буфера kbhit() - C++
Доброго времени суток! Вопрос в следующем. Как очистить буфер функции kbhit? Код такого рода: while (exit==0) { if...

Очистка буфера потока - C++
И снова здравствуйте, возникла снова проблема теперь уже иного рода. Есть код который заносит в поток значение: strm &lt;&lt;...

0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
01.05.2012, 19:23
Привет! Вот еще темы с ответами:

Очистка всего буфера ввода (cin) - C++
Предположим у нас есть клиентское приложение, которое ожидает сообщение от сервера. При получении этого сообщения клиент должен отправить...

Запись в файл, очистка буфера ввода - C++
Есть программа записи в файл некоторой информации; фио студента, оценка за экзамен и т.д. Подскажите пожалуйста, почему в консоли...

Очистка буфера ввода при работе с cin - C++
Добрый вечер! Пытаюсь научиться работать с классами, подскажите пожалуйста, что я делаю не так. В частности не работает функция enter,...

Простая программа работы с классами и строками, очистка буфера - C++
суть такова: создать класс содержащий почтовый адрес организации. предусмотреть возможность раздельного изменения/вывода составных частей...


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

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

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