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

В чем ошибка ?! - C++

Восстановить пароль Регистрация
 
Kwangmyongsong
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 84
12.12.2013, 18:13     В чем ошибка ?! #1
задача такая: написать программу что бы символ двигался в консоле при помощи стрелок.

и почему оно не работает?
уже все перепробывал (
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
#include <iostream>
#include <ctime>
#include <windows.h>
#include <conio.h>
using namespace std;
 
int symbol;
int go_x, go_y;
 
void Go(int symbol)
{
    symbol = _getch();
    while (true)
    {
        _getch();
    switch (symbol)
    {
    case 'up':
        if(go_x != 1 || go_y != 0)
        {
            go_x = -1; go_y = 0;
        }
        break;
 
    case 'down': 
        if(go_x != -1 || go_y != 0)
        {
            go_x = 1; go_y = 0;
        } 
        break;
 
    case 'righ': 
        if(go_x != 0 || go_y != -1) 
        {
            go_x = 0; go_y = 1;
        }
        break;
 
    case 'left': 
        if(go_x != 0 || go_y != 1)
        {
            go_x = 0; go_y = -1;
        }
        break;
    }
    cout << symbol << "$";
    }
}
 
int main()
{
    int z = 0;
    z = symbol;
    int x = 0;
    x = go_x;
    int y =0;
    y = go_y;
    return 0;
    cout << symbol<<'$';
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.12.2013, 18:13     В чем ошибка ?!
Посмотрите здесь:

В чем ошибка?.. C++
C++ в чем ошибка?
C++ В чем ошибка?
C++ в чем ошибка ?
C++ В чем ошибка?
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Megabar
22 / 22 / 3
Регистрация: 01.12.2013
Сообщений: 93
12.12.2013, 18:15     В чем ошибка ?! #2
Цитата Сообщение от Kwangmyongsong Посмотреть сообщение
case 'up':
Цитата Сообщение от Kwangmyongsong Посмотреть сообщение
case 'down':
Цитата Сообщение от Kwangmyongsong Посмотреть сообщение
case 'righ':
Цитата Сообщение от Kwangmyongsong Посмотреть сообщение
case 'left':
одинарные кавычки принимают только один символ.
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
12.12.2013, 18:17     В чем ошибка ?! #3
ошибки
Цитата Сообщение от Kwangmyongsong Посмотреть сообщение
case 'up':
Цитата Сообщение от Kwangmyongsong Посмотреть сообщение
case 'down':
Цитата Сообщение от Kwangmyongsong Посмотреть сообщение
case 'righ':
Цитата Сообщение от Kwangmyongsong Посмотреть сообщение
case 'left':
Kwangmyongsong
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 84
12.12.2013, 18:17  [ТС]     В чем ошибка ?! #4
поставил , еще хуже выдает ошибку, дело не в этом почему в консоле ничего не происходит?
Megabar
22 / 22 / 3
Регистрация: 01.12.2013
Сообщений: 93
12.12.2013, 18:19     В чем ошибка ?! #5
Kwangmyongsong, оператор case принимает числовое значение. В вашем случае нужно узнать коды клавиш (т.е. стрелок), значения char типа
Kwangmyongsong
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 84
12.12.2013, 18:21  [ТС]     В чем ошибка ?! #6
все теперь вот так:
но оно выбивает мне в консоле 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
#include <iostream>
#include <ctime>
#include <windows.h>
#include <conio.h>
using namespace std;
 
int symbol;
int go_x, go_y;
 
void Go(int symbol)
{
    symbol = _getch();
    while (true)
    {
        _getch();
    switch (symbol)
    {
    case 'u':
        if(go_x != 1 || go_y != 0)
        {
            go_x = -1; go_y = 0;
        }
        break;
 
    case 'd': 
        if(go_x != -1 || go_y != 0)
        {
            go_x = 1; go_y = 0;
        } 
        break;
 
    case 'r': 
        if(go_x != 0 || go_y != -1) 
        {
            go_x = 0; go_y = 1;
        }
        break;
 
    case 'l': 
        if(go_x != 0 || go_y != 1)
        {
            go_x = 0; go_y = -1;
        }
        break;
    }
    cout << symbol << "$";
    
    }
 
}
 
int main()
{
    int z = 0;
    z = symbol;
    int x = 0;
    x = go_x;
    int y =0;
    y = go_y;
    cout << symbol<<'$';    
    return 0;
}
Добавлено через 57 секунд
Цитата Сообщение от Megabar Посмотреть сообщение
Kwangmyongsong, оператор case принимает числовое значение. В вашем случае нужно узнать коды клавиш (т.е. стрелок), значения char типа
у меня их нету(( спрашивал уже.. не подскажешь?
Doksim
 Аватар для Doksim
57 / 57 / 8
Регистрация: 08.12.2013
Сообщений: 257
12.12.2013, 18:22     В чем ошибка ?! #7
Цитата Сообщение от Kwangmyongsong Посмотреть сообщение
все теперь вот так:
но оно выбивает мне в консоле 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
#include <iostream>
#include <ctime>
#include <windows.h>
#include <conio.h>
using namespace std;
 
int symbol;
int go_x, go_y;
 
void Go(int symbol)
{
    symbol = _getch();
    while (true)
    {
        _getch();
    switch (symbol)
    {
    case 'u':
        if(go_x != 1 || go_y != 0)
        {
            go_x = -1; go_y = 0;
        }
        break;
 
    case 'd': 
        if(go_x != -1 || go_y != 0)
        {
            go_x = 1; go_y = 0;
        } 
        break;
 
    case 'r': 
        if(go_x != 0 || go_y != -1) 
        {
            go_x = 0; go_y = 1;
        }
        break;
 
    case 'l': 
        if(go_x != 0 || go_y != 1)
        {
            go_x = 0; go_y = -1;
        }
        break;
    }
    cout << symbol << "$";
    
    }
 
}
 
int main()
{
    int z = 0;
    z = symbol;
    int x = 0;
    x = go_x;
    int y =0;
    y = go_y;
    cout << symbol<<'$';    
    return 0;
}
Добавлено через 57 секунд


у меня их нету(( спрашивал уже.. не подскажешь?
и правильно делает, вы функцию го не вызвали.
Megabar
22 / 22 / 3
Регистрация: 01.12.2013
Сообщений: 93
12.12.2013, 18:26     В чем ошибка ?! #8
Kwangmyongsong, попробуйте экспериментальным путем узнать. Через cin и cout
Kwangmyongsong
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 84
12.12.2013, 18:29  [ТС]     В чем ошибка ?! #9
напишите плиз как правльно а то я уже 2 часа сижу. щас возьму забью на это и все.
User409368
191 / 168 / 6
Регистрация: 09.09.2013
Сообщений: 524
12.12.2013, 18:32     В чем ошибка ?! #10
Kwangmyongsong, тип у переменной symbol должнен быть char а не int
Цитата Сообщение от Kwangmyongsong Посмотреть сообщение
int symbol;
C++
1
char symbol;
Megabar
22 / 22 / 3
Регистрация: 01.12.2013
Сообщений: 93
12.12.2013, 18:35     В чем ошибка ?! #11
Цитата Сообщение от Kwangmyongsong Посмотреть сообщение
щас возьму забью на это и все.
Все нормально. Не забивайте. Это процесс обучения. В этом ничего сложного нет. Пробуйте и у вас получится.
Kwangmyongsong
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 84
12.12.2013, 18:37  [ТС]     В чем ошибка ?! #12
начало:
C++
1
2
3
4
char symbol;
int go_x, go_y;
 
void Go(char symbol)
конец:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
return Go(symbol);  
}
 
int main()
{
    int z = Go(symbol);
    int x = 0;
    x = go_x;
    int y =0;
    y = go_y;
    cout << z<<'$'; 
    return 0;
}
ошибка и все.
Doksim
 Аватар для Doksim
57 / 57 / 8
Регистрация: 08.12.2013
Сообщений: 257
12.12.2013, 18:37     В чем ошибка ?! #13
Цитата Сообщение от Kwangmyongsong Посмотреть сообщение
напишите плиз как правльно а то я уже 2 часа сижу. щас возьму забью на это и все.
все присуствующие здесь размышляли когда были на уровне ваших знаний также, но не бросили...
programina
12.12.2013, 18:38
  #14

Не по теме:

Цитата Сообщение от Kwangmyongsong Посмотреть сообщение
а то я уже 2 часа сижу. щас возьму забью на это и все
Правильно, поддерживаю!

Kwangmyongsong
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 84
12.12.2013, 18:38  [ТС]     В чем ошибка ?! #15
Цитата Сообщение от Megabar Посмотреть сообщение
Все нормально. Не забивайте. Это процесс обучения. В этом ничего сложного нет. Пробуйте и у вас получится.
я уже 2ой день по 2 часа сижу над этим заданием. и пробывал и читал как и смотрел результат. толку 0.
Megabar
22 / 22 / 3
Регистрация: 01.12.2013
Сообщений: 93
12.12.2013, 18:52     В чем ошибка ?! #16
Kwangmyongsong, здесь на форуме кто-то постил код, где можно перемещать курсор в консоли. Вам как раз это будет полезно. К сожалению, найти не могу.

Добавлено через 10 минут
Kwangmyongsong, кстати, в коде нет никакого перемещения, вероятно пропущена функция SetConsoleCursorPosition
Kwangmyongsong
0 / 0 / 0
Регистрация: 30.09.2013
Сообщений: 84
12.12.2013, 19:25  [ТС]     В чем ошибка ?! #17
Добавлено через 10 минут
Kwangmyongsong, кстати, в коде нет никакого перемещения, вероятно пропущена функция SetConsoleCursorPosition[/QUOTE]

не знаю такой функции.. я думаю что надо цикл for добавить а что в нем писать я без понятия

Добавлено через 32 минуты
ну так что кто нибудь ответит?
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
12.12.2013, 19:28     В чем ошибка ?!
Еще ссылки по теме:

C++ в чем ошибка?
В чем ошибка ? ? C++
Ошибка 2 error LNK2019, не пойму в чем ошибка C++

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

Или воспользуйтесь поиском по форуму:
programina
 Аватар для programina
1912 / 597 / 37
Регистрация: 23.10.2011
Сообщений: 4,468
Записей в блоге: 2
12.12.2013, 19:28     В чем ошибка ?! #18
Цитата Сообщение от Kwangmyongsong Посмотреть сообщение
ну так что кто нибудь ответит?
Готовое решение
Yandex
Объявления
12.12.2013, 19:28     В чем ошибка ?!
Ответ Создать тему
Опции темы

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