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

Не работает getch() - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Найти слово с наибольшим количеством гласных букв http://www.cyberforum.ru/cpp-beginners/thread1027700.html
Гляньте что не так: #include <iostream> #include <string.h> #include <conio.h> using namespace std; void main(){ char glas="aeiou"; //Создаем массив гласных букв англ. языка. int k=0;...
C++ Массив размерностью MxN. Необходимо найти номер строки и номер столбца, в которых находится наименьший элемент Ребят, очень надеюсь на вашу помощь! Во всех вариантах необходимо написать три функции, которые будут вызываться из функции main(). Первая функция получает размерность массива, создает... http://www.cyberforum.ru/cpp-beginners/thread1027690.html
Почему не правильно считает? C++
//--------------------------------------------------------------------------- #include <vcl.h> #pragma hdrstop //--------------------------------------------------------------------------- ...
Неполучается сделать цикл для алгоритма Форель C++
Пытаюсь реализовать алгоритм ФОРЕЛЬ. Вот что пока есть. Знаю позор это все( Нужно сделать чтобы числа вводились либо вручную либо подгружались с файла excel. #include <iostream> #include...
C++ do - while http://www.cyberforum.ru/cpp-beginners/thread1027647.html
Организовать цикл, который принимает с клавиатуры отдельные символы и накапливает их в символьной переменной, каждый раз выполняя битовую операцию &. Окончание цикла - ввод 0. #include...
C++ Сортировка столбца массива, указанного пользователем, в порядке убывания Привет... Помогите, пожалуйста... Написал код, который заполняет двумерный массив, нужно дописать это код, чтобы он еще: -отсортировывал столбец массива, указанный пользователем, в порядке... подробнее

Показать сообщение отдельно
ZeBerg
0 / 0 / 0
Регистрация: 17.11.2013
Сообщений: 4

Не работает getch() - C++

04.12.2013, 00:10. Просмотров 1660. Ответов 4
Метки (Все метки)

Здравствуйте, решил написать первую серьезную программу ,в данном случае змейку, не получается ввести нажатие клавиши с клавиатуры.После поиска гуглом нашел getch()
C++
1
2
3
4
5
6
char button_input()// ввод с клавы
{
char pressed_button;// переменная клавиши
pressed_button=getch();//ввод
return pressed_button;
}
Вот та часть кода с вводом.Я не знаю правильно ли я использовал данный оператор.



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
# include <iostream>
# include <windows.h>
# include <time.h>
// библиотека, нужна для использования функции Sleep()
# include <conio.h>
// библиотека, нужна для использования функций kbhit() и getch()
using namespace std;
int x=0,y=0;
int matrix[10][10];
void matrix_output(int x,int y) 
{
int matrix[10][10];//собственно матрица
 
}
char button_input()// ввод с клавы
{
char pressed_button;// переменная клавиши
pressed_button=getch();//ввод
return pressed_button;
}
int matrix_change(char button)
{
int x=0,y=0;//координаты головы
char w='w',a='a',s='s',d='d';
string str,str1,str2,str3,str4;//строки
str=button;//ввод в строку нажатую клавишу
str1=w;
str2=a;
str3=s;
str4=d;
if (strcmp(str.c_str(),str1.c_str())==0)//проверка на w 
{
    y++;//увеличение y
};
if (strcmp(str.c_str(),str2.c_str())==0)
{
    x--;//уменьшение x
};
if (strcmp(str.c_str(),str3.c_str())==0)
{
    y--;
 
};
if (strcmp(str.c_str(),str4.c_str())==0)
{
    x++;
 
};
return (x,y);
}
int main()
{
do
{
 char button=button_input();
 x,y=matrix_change(button);
 system("cls");
 for (int i=0; i<10; i++)
 {
  //цикл по переменной i, в котором перебираем строки матрицы
  for (int j=0; j<10; j++)
  {
   cout<<matrix[i][j]<<"\t"; //вывод очередного элемента матрицы
   cout<<endl; //переход на новую строку после вывода всех элементов строки
   matrix[x][y]=1;
   system("cls");
  }
 }
}
while(x<10,y<10);
int abcg;
cin>>abcg;
return 0;
}
Вот вся программа на сейчас.Она не дописана но выводит 0 хотя не должна(


Подскажите пожалуйста как правильно его использовать?
З.Ы Я знаю что я еврей и не умею красиво писать, да что уж там - вообще не умею писать)

Добавлено через 28 минут
После некоторых преобразований получилось красивее но не функциональней :
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
# include <iostream>
# include <windows.h>
# include <time.h>
// библиотека, нужна для использования функции Sleep()
# include <conio.h>
// библиотека, нужна для использования функций kbhit() и getch()
using namespace std;
int x=0,y=0;
int matrix[10][10];
void matrix_output(int x,int y) 
{
int matrix[10][10];//собственно матрица
 
}
 
int matrix_change()
{
int x=0,y=0;//координаты головы
 
char pressed_button=getch();
switch (pressed_button)
  {
  case 77:
   y--;
  case 61:
   x--;
  case 73:
   y++;
  case 64:
   x++;
}
return (x,y);
}
int main()
{
do
{
 
 system("cls");
 for (int i=0; i<10; i++)
 { x,y=matrix_change();
   matrix[x][y]=1;  
  for (int j=0; j<10; j++)//цикл по переменной i, в котором перебираем строки матрицы
  {
   cout<<matrix[i][j]<<"\t"; //вывод очередного элемента матрицы
   cout<<endl; //переход на новую строку после вывода всех элементов строки
   matrix[x][y]=1;
   system("cls");
  }
 }
}
while(x<10,y<10);
int abcg;
cin>>abcg;
return 0;
}
кусок с getch():
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
int matrix_change()
{
int x=0,y=0;//координаты головы
 
char pressed_button=getch();
switch (pressed_button)
  {
  case 77:
   y--;
  case 61:
   x--;
  case 73:
   y++;
  case 64:
   x++;
}
return (x,y);
}
проблема таже
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru