On-line: гостей 3. Всего: 3 [подробнее..]
АвторСообщение



Пост N: 32
Зарегистрирован: 28.07.10
ссылка на сообщение  Отправлено: 19.11.10 04:51. Заголовок: ? Сишникам - почему не работает код


Пытаюсь создать модуль "по аналогии" из разных кусков т.к. в Си не "секу".
Запнулся на задаче - передать число и в зависимости от значения выбрать операцию.
Пишу так
 
HB_FUNC( ...
int nActivityType = 3;
...
if( hb_pcount() == 1 && HB_ISNUM( 1 ) )
{
nActivityType = hb_parni( 1 ) ;
}

switch( nActivityType )
{
case 1:
.....;
case 2:
.....;
case 3:
.....;
default:
.....;
}

Выполняется всегда дефолтный кусок.

меняю на
int nActivityType = 2;
удаляю default вообще
выполняется case 3

Спасибо: 0 
ПрофильЦитата Ответить
Ответов - 2 [только новые]





Пост N: 33
Зарегистрирован: 28.07.10
ссылка на сообщение  Отправлено: 19.11.10 07:44. Заголовок: решил проблему алгор..


решил проблему алгоритмически - убрав switch

Спасибо: 0 
ПрофильЦитата Ответить
постоянный участник


Пост N: 1002
Зарегистрирован: 09.10.06
ссылка на сообщение  Отправлено: 19.11.10 08:40. Заголовок: SADSTAR33 пишет: ре..


SADSTAR33 пишет:

 цитата:
решил проблему алгоритмически - убрав switch


Хитрый подход

SADSTAR33 пишет:

 цитата:
Выполняется всегда дефолтный кусок.


break забыли?
switch( nActivityType )  
{
case 1:
.....;
break;
case 2:
.....;
break;
case 3:
.....;
break;
default:
.....;
break;
}


 int nActivityType = 3;  
...
if( hb_pcount() == 1 && HB_ISNUM( 1 ) )
{
nActivityType = hb_parni( 1 ) ;
}

Этот участок кода удобнее заменить на

int nActivityType = hb_parnidef( 1, 3 );

Спасибо: 0 
ПрофильЦитата Ответить
Ответ:
1 2 3 4 5 6 7 8 9
большой шрифт малый шрифт надстрочный подстрочный заголовок большой заголовок видео с youtube.com картинка из интернета картинка с компьютера ссылка файл с компьютера русская клавиатура транслитератор  цитата  кавычки моноширинный шрифт моноширинный шрифт горизонтальная линия отступ точка LI бегущая строка оффтопик свернутый текст

показывать это сообщение только модераторам
не делать ссылки активными
Имя, пароль:      зарегистрироваться    
Тему читают:
- участник сейчас на форуме
- участник вне форума
Все даты в формате GMT  3 час. Хитов сегодня: 301
Права: смайлы да, картинки да, шрифты да, голосования нет
аватары да, автозамена ссылок вкл, премодерация откл, правка нет