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

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

Восстановить пароль Регистрация
 
Xipxop
 Аватар для Xipxop
481 / 9 / 2
Регистрация: 28.12.2011
Сообщений: 150
10.01.2013, 21:17     программа не хочет видеть код функции #1
Всем добрый вечер.
Пишу на 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;
}
в чем проблема коротко:
когда запускаю пишет: нажмите любую кнопку...
И все! больше ничего...

как решить незнаю, бред какойто
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11817 / 6796 / 769
Регистрация: 27.09.2012
Сообщений: 16,867
Записей в блоге: 2
Завершенные тесты: 1
10.01.2013, 21:26     программа не хочет видеть код функции #2
C++
1
2
    char *vibor[10][3];
    vibor[10][1]="<-----"; vibor[10][2]=""; vibor[10][3]="";
Ничего не замечаете?
Xipxop
 Аватар для Xipxop
481 / 9 / 2
Регистрация: 28.12.2011
Сообщений: 150
10.01.2013, 21:33  [ТС]     программа не хочет видеть код функции #3
а что так нельзя?
вроде сначала эта конструкция работала, но вызывала некоторые проблемы...

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

Например:
C++
1
2
char *oem[3][10];
oem[1][10]="dddd";
где массив [10] для строки.
Спасибо разобрался.
Croessmah
Модератор
Эксперт С++
 Аватар для Croessmah
11817 / 6796 / 769
Регистрация: 27.09.2012
Сообщений: 16,867
Записей в блоге: 2
Завершенные тесты: 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] для строки.
Спасибо разобрался.
У Вас массив указателей!!!
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
10.01.2013, 21:59     программа не хочет видеть код функции
Еще ссылки по теме:

Не хочет компилироваться, код верный C++
Почему не хочет работать код? C++
C++ Программа перестает видеть плагин

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

Или воспользуйтесь поиском по форуму:
Xipxop
 Аватар для Xipxop
481 / 9 / 2
Регистрация: 28.12.2011
Сообщений: 150
10.01.2013, 21:59  [ТС]     программа не хочет видеть код функции #9
ясно, спасибо еще раз вам.

P.S. char предоставляет каждый раз сюрпризы...
Yandex
Объявления
10.01.2013, 21:59     программа не хочет видеть код функции
Ответ Создать тему
Опции темы

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