Поиск:

Ответ в темуСоздание новой темы Создание опроса
> переменная счетчик в циклах i - неадекват, рандомные занчения! 
:(
    Опции темы
Notreg
Дата 12.8.2008, 14:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 10.1.2007

Репутация: нет
Всего: нет



гугл не занет, что это - сиглинтон =)

int MyCards[24];


Цитата(mrbrooks @  12.8.2008,  12:27 Найти цитируемый пост)
 Присоединяюсь к fridkaratel - выложи полный код со своими глобальными переменными. Не боись. Врятли кто нарушит твои авторские права.


неа, не могу, закрытый код =)  Сделал локальными, вроде работает! А как делать без глобальных, это ж туева хуча, параметров функций!
--------------------
Надежна лишь смерть, жизнь - нет.
PM MAIL   Вверх
mrbrooks
Дата 12.8.2008, 14:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



факмой мозг. вот что бывает когда буковку пропускаешь
http://en.wikipedia.org/wiki/Singleton_pattern 
PM MAIL   Вверх
petlyura
Дата 12.8.2008, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 30.1.2008
Где: Харьков

Репутация: 2
Всего: 2



Цитата(Notreg @  12.8.2008,  14:02 Найти цитируемый пост)
 А как делать без глобальных, это ж туева хуча, параметров функций!


Везде, где у тебя есть 
for (i = 0; i....................)
меняй
на for (int i = 0; i....................)
иначе еще такая же хрень где-нибудь всплывет.
Глобальную i убери нафиг... Такое происходит потому, что в этот момент где-то i меняет свое значение еще.

Никакой кучи параметров не будет. Параметры ф-ции - это вот void func(int param1, char* param2, double* param3, TMyClass* param4...)
Те i, что внутри ф-ции - это всего лишь локальные переменные (будут, если ты сделаешь то, что выше написано). Они видны только внутри цикла.
Память выделяется под i внутри функции (цикла) в месте объявления и удаляется при выходе из цикла. Зато не хранится через всю программу. 
Плохой стиль программирования - потому что из-за такого стиля ошибки происходят, и трудно разобраться в происхождении, и в специфике кода.
PM MAIL   Вверх
Notreg
Дата 12.8.2008, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 10.1.2007

Репутация: нет
Всего: нет



я имел ввиду не i , с i то я разобрался. 
--------------------
Надежна лишь смерть, жизнь - нет.
PM MAIL   Вверх
mrbrooks
Дата 12.8.2008, 15:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Цитата(Notreg @ 12.8.2008,  14:02)

неа, не могу, закрытый код =)  Сделал локальными, вроде работает! А как делать без глобальных, это ж туева хуча, параметров функций!

Я тогда пас. Из меня телепат фиговый.  smile 
PM MAIL   Вверх
petlyura
Дата 12.8.2008, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 162
Регистрация: 30.1.2008
Где: Харьков

Репутация: 2
Всего: 2



Цитата(Notreg @  12.8.2008,  15:27 Найти цитируемый пост)
я имел ввиду не i , с i то я разобрался. 

Предполагаю, что ты имеешь в виду, что делать, чтобы все необходимые переменные везде, где нужно, были доступны.
Для этого существует ООП, плюс инклюдишь файлы #include "", где они объявлены (в классах формы или собственных классах), а дальше через доступ MyClass->peremennaya. Плюс еще куча наворотов типа события, SendMessage, PostMessage и т.п.

Ну, а пишешь, ты загадочно. Всегда приходится догадываться. Ладно код не можешь выкладывать. У меня тоже самое. Но попробовать сварганить простой примерчик с использованием небольшого кусочка кода, либо даже как-нибудь внятнее объяснить. На худой конец разделители ставь. Может, предложения начинай с большой буквы. Неудобно читать-то.

Это сообщение отредактировал(а) petlyura - 12.8.2008, 15:53
PM MAIL   Вверх
Notreg
Дата 12.8.2008, 15:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 10.1.2007

Репутация: нет
Всего: нет



вот что я натворил

Присоединённый файл ( Кол-во скачиваний: 10 )
Присоединённый файл  Ucards.cpp 29,47 Kb
--------------------
Надежна лишь смерть, жизнь - нет.
PM MAIL   Вверх
fridkaratel
Дата 12.8.2008, 16:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 221
Регистрация: 22.10.2007
Где: Error connect to MySQL Da...

Репутация: нет
Всего: нет



Ну так что - все равно та же ошибка в том же месте?

Если да, то надо смотреть и изучать код...

Вот что я приметил:
Код

int CardsForGlasses[4]; //карты взятки для подсчета очков
/* ... */
        for (int i = 0; i < 6; i += 1)
        {
                if (MouseOnCard[i] == true && MyCards[i] != -1)
                {
                  /* ... */
                        n += 1;
                 /* ... */
                }
         }
/* ... */

Судя по коду - будет ошибка, если условие выполнится больше, чем 4 раза, т.е. n будет равно 4...

PS: когда объявляешь #define, то лучше использовать заглавные буквы, напр. #define CARD_ACE 14. Так легче и, как мне кажется, правильней, нежели #define MyAce 10... Да и отличить переменную от #define в дальнейшем коде куда легче ;)

Это сообщение отредактировал(а) fridkaratel - 12.8.2008, 16:30
PM   Вверх
mrbrooks
Дата 12.8.2008, 16:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


трололомен
****


Профиль
Группа: Завсегдатай
Сообщений: 4259
Регистрация: 4.10.2006
Где: Дол Гулдур

Репутация: 167
Всего: 306



Цитата(fridkaratel @ 12.8.2008,  16:22)
Ну так что - все равно та же ошибка в том же месте?

Если да, то надо смотреть и изучать код...

PS: когда объявляешь #define, то лучше использовать заглавные буквы, напр. #define CARD_ACE 14. Так легче и, как мне кажется, правильней, нежели #define MyAce 10... Да и отличить переменную от #define в дальнейшем коде куда легче ;)

если говорить о правильности в С++ вместо #define используется const

Добавлено через 1 минуту и 35 секунд
охххххх. листинг знатный. карточная игра чтоль. блин вот здесь не плохо было бы заюзать парадигмы OOП  smile 
PM MAIL   Вверх
Notreg
Дата 12.8.2008, 16:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 10.1.2007

Репутация: нет
Всего: нет



Цитата(fridkaratel @  12.8.2008,  16:22 Найти цитируемый пост)
Судя по коду - будет ошибка, если условие выполнится больше, чем 4 раза, т.е. n будет равно 4...


это понятно! пока, просто, основную логику делаю.

Цитата

охххххх. листинг знатный. карточная игра чтоль. блин вот здесь не плохо было бы заюзать парадигмы OOП



по поддробнее, но не сильно углубляясь. 

Цитата

Ну так что - все равно та же ошибка в том же месте?

Если да, то надо смотреть и изучать код...


нет, ошибка ушла!

--------------------
Надежна лишь смерть, жизнь - нет.
PM MAIL   Вверх
Notreg
Дата 12.8.2008, 17:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 10.1.2007

Репутация: нет
Всего: нет



Цитата

На худой конец разделители ставь.


Какие разделители?
--------------------
Надежна лишь смерть, жизнь - нет.
PM MAIL   Вверх
Notreg
Дата 12.8.2008, 19:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 10.1.2007

Репутация: нет
Всего: нет



Цитата(mrbrooks @  12.8.2008,  16:28 Найти цитируемый пост)
охххххх. листинг знатный. карточная игра чтоль. блин вот здесь не плохо было бы заюзать парадигмы OOП 


Т. е. собственно ООП призвано объединить переменные и функции в рамках понятия объект? Но по отношению к функциям объекта переменные внутри объекта также будут глобальными?
--------------------
Надежна лишь смерть, жизнь - нет.
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "С++ Builder"
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по С++ Builder обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Настоятельно рекомендуем заглянуть в DRKB (Delphi Russian Knowledge Base) - крупнейший в рунете сборник материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | C++ Builder | Следующая тема »


 




[ Время генерации скрипта: 0.0528 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.