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

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

Войти
Регистрация
Восстановить пароль
 
Xipxop
481 / 9 / 2
Регистрация: 28.12.2011
Сообщений: 151
#1

программа не хочет видеть код функции - C++

10.01.2013, 21:17. Просмотров 272. Ответов 8
Метки нет (Все метки)

Всем добрый вечер.
Пишу на wxDev-C++.

Пишу обычную не сложную игру.
Столкнулся с проблемой в меню, есть функция в мэйне она вызывается.

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
#include <cstdlib>
#include <iostream>
#include <windows.h>  //CharToOem
#include <conio.h>  //_getch()
 
using namespace std;
#define rus(str) CharToOem(str,vixod); //Ïñåâäî ГґГіГ*êöèÿ, äëÿ ïåðåâîäГ* êîäèðîâêè
 
char vixod[512]; //ÏåðåìåГ*Г*Г*Гї ñîäåðæГ*Г№Г*Гї ГђГіГ±Г±ГЄГЁГ© ГІГҐГЄГ±ГІ
 
void menu() //ГЈГ«Г*ГўГ*îå ìåГ*Гѕ èãðû
{
    system("cls"); //ГЋГ·ГЁГ№Г*ГҐГ¬ ГЅГЄГ°Г*Г*
    
    int ch=0,chose=1;
    bool exit=true;
    char *vibor[10][3];
    vibor[10][1]="<-----"; vibor[10][2]=""; vibor[10][3]="";
    
    while(exit)
    {
        system("cls");
        rus("Ìîðñêîé áîé Гў ГЄГ®Г*ñîëå.\n*****_ГЊГҐГ*Гѕ:_*****\n"); cout << vixod << endl;
        rus("ÈãðГ*ГІГј"); cout << vixod << vibor[10][1] << endl;
        rus("ГЏГ°Г*ГўГЁГ«Г*"); cout << vixod << vibor[10][2] << endl;
        rus("ГЌГ*ñòðîéêè"); cout << vixod << vibor[10][3] << endl;
        cout << ch;
        ch=_getch();
        switch(ch)
        {
            case 80: //ГўГ*ГЁГ§
                vibor[10][chose]="";
                if (chose>3){chose=1;} else{chose++;}
                vibor[10][chose]="<-----";
            break;
            
            case 13: //enter
                exit=false;
            break;
        }
    }
} 
 
int main(int argc, char *argv[])
{
    menu(); //âûçûâГ*ГҐГ¬ ìåГ*Гѕ èãðû
    system("PAUSE");
    return EXIT_SUCCESS;
}
в чем проблема коротко:
когда запускаю пишет: нажмите любую кнопку...
И все! больше ничего...

как решить незнаю, бред какойто
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
10.01.2013, 21:17
Здравствуйте! Я подобрал для вас темы с ответами на вопрос программа не хочет видеть код функции (C++):

Программа перестает видеть плагин - C++
Добрый день. Подскажите пожалуйста, написал плагин на С++. В программе не использую: framework, CLR-среды. На моём компе...

не хочет работать код(((( - C++
#include &lt;iostream.h&gt; #include &lt;fstream.h&gt; #include &lt;limits.h&gt; #include &lt;locale.h&gt; #include &lt;stdlib.h&gt; #include &lt;string.h&gt; ...

Код не хочет работать - C++
Не могу понять,почему не работает. Помогите пожалуйста #include &lt;string&gt; #include &lt;iostream&gt; using namespace std; enum...

Почему не хочет работать код? - C++
Если динамическое выделение памяти, то работать не хочет. #include &lt;iostream&gt; #include &lt;cstdio&gt; using namespace std; int main()...

Не хочет компилироваться, код верный - C++
Вроде бы и простая фигня, но.. не могу откомпилировать. Помогите разобраться. #include&lt;iostream.h&gt; const n=50; void main() { int*...

Не хочет запускаться программа - C++
Поставил Visual Studio. Net. Пишу простейшую программу на C++, компилирую - удачно, пытаюсь запустить (F5), выскакивает ошибка... (см....

8
Croessmah
Эксперт CЭксперт С++
13510 / 7668 / 866
Регистрация: 27.09.2012
Сообщений: 18,866
Записей в блоге: 3
Завершенные тесты: 1
10.01.2013, 21:26 #2
C++
1
2
    char *vibor[10][3];
    vibor[10][1]="<-----"; vibor[10][2]=""; vibor[10][3]="";
Ничего не замечаете?
0
Xipxop
481 / 9 / 2
Регистрация: 28.12.2011
Сообщений: 151
10.01.2013, 21:33  [ТС] #3
а что так нельзя?
вроде сначала эта конструкция работала, но вызывала некоторые проблемы...

Тогда как надо?
Надо чтобы эта переменная была:
Строкой в массиве. (строку я знаю как сделать)(аналогия string a[3])
0
Croessmah
Эксперт CЭксперт С++
13510 / 7668 / 866
Регистрация: 27.09.2012
Сообщений: 18,866
Записей в блоге: 3
Завершенные тесты: 1
10.01.2013, 21:49 #4
Цитата Сообщение от Xipxop Посмотреть сообщение
а что так нельзя?
Можно всё! Но кто будет следить за выходами за пределы массива?
0
Xipxop
481 / 9 / 2
Регистрация: 28.12.2011
Сообщений: 151
10.01.2013, 21:51  [ТС] #5
но ведь, "<-----" не выходит за пределы массива [10]!
0
Croessmah
Эксперт CЭксперт С++
13510 / 7668 / 866
Регистрация: 27.09.2012
Сообщений: 18,866
Записей в блоге: 3
Завершенные тесты: 1
10.01.2013, 21:52 #6
А ничего, что последний указатель - это vibor[9][2]?
1
Xipxop
481 / 9 / 2
Регистрация: 28.12.2011
Сообщений: 151
10.01.2013, 21:55  [ТС] #7
Тоесть получается:
Массив как строка в char получается последний указанный массив.

Например:
C++
1
2
char *oem[3][10];
oem[1][10]="dddd";
где массив [10] для строки.
Спасибо разобрался.
0
Croessmah
Эксперт CЭксперт С++
13510 / 7668 / 866
Регистрация: 27.09.2012
Сообщений: 18,866
Записей в блоге: 3
Завершенные тесты: 1
10.01.2013, 21:57 #8
И вообще, зачем двумерный массив указателей?
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
void menu() //главное меню игры
{
    system("cls"); //Очищаем экран
    
    int ch=0,chose=0;
    bool exit=true;
    char *vibor[3];
    vibor[0]="<-----"; vibor[1]=""; vibor[2]="";
    
    while(exit)
    {
        system("cls");
        rus("Морской бой в консоле.\n*****_Меню:_*****\n"); cout << vixod << endl;
        rus("Играть"); cout << vixod << vibor[0] << endl;
        rus("Правила"); cout << vixod << vibor[1] << endl;
        rus("Настройки"); cout << vixod << vibor[2] << endl;
        cout << ch;
        ch=_getch();
        switch(ch)
        {
            case 80: //вниз
                vibor[chose]="";
                if (chose>2){chose=0;} else{chose++;}
                vibor[chose]="<-----";
            break;
            
            case 13: //enter
                exit=false;
            break;
        }
    }
}
Добавлено через 1 минуту
Цитата Сообщение от Xipxop Посмотреть сообщение
где массив [10] для строки.
Спасибо разобрался.
У Вас массив указателей!!!
1
Xipxop
481 / 9 / 2
Регистрация: 28.12.2011
Сообщений: 151
10.01.2013, 21:59  [ТС] #9
ясно, спасибо еще раз вам.

P.S. char предоставляет каждый раз сюрпризы...
0
10.01.2013, 21:59
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2013, 21:59
Привет! Вот еще темы с ответами:

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

Не работает программа. Не хочет читать файл - C++
Нехочет читать файл, пишет error C2660: 'fopen_s' : function does not take 2 arguments #include &quot;stdafx.h&quot; #include &quot;stdio.h&quot; ...

Почему программа не хочет выполнять цикл? - C++
Даны вещественные числа а, b, с(а &lt;&gt; 0) (которые задает пользователь с клавиатуры). Выяснить, имеет ли уравнение аx^2+ bх + с= 0...

Почему программа не хочет повторять новый ввод? - C++
Первый раз считает отлично. Прошу повторить - пишет везде 0 и не спрашивает о вводе нового string? #include &lt;iostream&gt; #include...


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

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

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