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

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

Войти
Регистрация
Восстановить пароль
 
 
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
#1

2 параметра в 1 функции - C++

02.07.2013, 00:51. Просмотров 958. Ответов 35
Метки нет (Все метки)

Не знал как точно назвать тему, дело в том, что у меня есть вот такой вот код:
C++
1
2
3
4
5
void cmd_vcol( char *param )        
{
     int    color = atoi(param);
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color );        
}
А мне надо преобразовать его в такой:
C++
1
2
3
4
5
6
7
void cmd_vcol( char *param )        
{
     int    color1 = atoi(param);
     int    color2 = atoi(param);
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color1 );
     vehicle_setColor1( vehicle_info_get(VEHICLE_SELF, 0), colo2 );        
}
Но получается тогда что color1 и color2 одинаковы, пытался сделать так:
C++
1
2
3
4
5
6
7
void cmd_vcol( char *param1, char *param2 )        
{
     int    color1 = atoi(param1);
     int    color2 = atoi(param2);
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color1 );
     vehicle_setColor1( vehicle_info_get(VEHICLE_SELF, 0), colo2 );        
}
Не выходит... Помогите пожалуйста.
P.S. сильно не ругайте если что не так написал или спросил, только 2-ой день работаю с С++.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
02.07.2013, 00:51
Здравствуйте! Я подобрал для вас темы с ответами на вопрос 2 параметра в 1 функции (C++):

Разработайте перегружены функции, в которые передаются два параметра типов int или float и три параметра типов - C++
Разработайте перегружены функции, в которые передаются два параметра типов int или float и три параметра типов int или float и возвращают...

Использование функции как параметра другой функции - C++
В задании указано, что функция P прибавляет значение функции ff к элементу массива, если он входит в промежуток от C до D, которые вводятся...

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

Передача параметра функции - C++
Подскажите пожалуйста каким образом передавать уже явные параметры CreateRectRgn в параметры BitBlt или StreatchBlt не прибегая к...

Возращение параметра из функции - C++
Приветствую помогите разобраться: есть функция, которая сортирует массив и которая считает количество перестановок. Это кол-во перестановок...

Функции в зависимости от параметра - C++
хз как точнее описать в общем можно ли сделать чтобы в классе появлялись (становились доступными в public) те или иные функции в...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 01:09 #2
Цитата Сообщение от LastChaos Посмотреть сообщение
Не выходит...
А что не выходит?

Добавлено через 1 минуту
В 6 строке ошибка: написано в параметрах vehicle_info_get() colo2 вместо color2.
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 01:15  [ТС] #3
Цитата Сообщение от alsav22 Посмотреть сообщение
А что не выходит?

Добавлено через 1 минуту
В 6 строке ошибка: написано в параметрах vehicle_info_get() colo2 вместо color2.
Что не выходит? Не срабатывает функция, в моем случае - это чит для SA:MP, при вводе команты /vcol у меня появляется ошибка и закрывается игра. Что насчет colo2, не дописал 1 букву.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 01:56 #4
Цитата Сообщение от LastChaos Посмотреть сообщение
Не срабатывает функция
Какая? Переделанная под два параметра? Отчего не срабатывает? Потому что должна быть с одним параметром?

Добавлено через 2 минуты
Цитата Сообщение от LastChaos Посмотреть сообщение
Что насчет colo2, не дописал 1 букву.
Тут не дописали или там, где пробуете?

Добавлено через 2 минуты
И вопрос сформулируйте поконкретнее, а то непонятно, что нужно.

Добавлено через 2 минуты
param знаете как выглядит? param1, param2?
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 02:08  [ТС] #5
Цитата Сообщение от alsav22 Посмотреть сообщение
Какая? Переделанная под два параметра? Отчего не срабатывает? Потому что должна быть с одним параметром?

Добавлено через 2 минуты

Тут не дописали или там, где пробуете?

Добавлено через 2 минуты
И вопрос сформулируйте поконкретнее, а то непонятно, что нужно.

Добавлено через 2 минуты
param знаете как выглядит? param1, param2?
Я объясню: есть код:
C++
1
2
3
4
5
void cmd_vcol( char *param )        
{
     int    color = atoi(param);
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color );        
}
Он срабатывает при вводе команды /vcol param (вместо param ставится любая цифра). А мне нужен код, который будет срабатывать для 2-х параметров, то есть такой: /vcol param param0 (вместо param и param0 любые цифры). А вот как сделать так, чтобы код считывал 2-ой параметр, я не знаю.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 02:24 #6
То есть, такой код у вас не страбатывает, если /vcol param param0?
C++
1
2
3
4
5
6
7
void cmd_vcol( char *param1, char *param2 )        
{
     int    color1 = atoi(param1);
     int    color2 = atoi(param2);
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color1 );
     vehicle_setColor1( vehicle_info_get(VEHICLE_SELF, 0), colo2 );        
}
Добавлено через 1 минуту
Цитата Сообщение от LastChaos Посмотреть сообщение
Он срабатывает при вводе команды /vcol param
Это где вводите?
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 02:26  [ТС] #7
Цитата Сообщение от alsav22 Посмотреть сообщение
То есть, такой код у вас не страбатывает, если /vcol param param0?
C++
1
2
3
4
5
6
7
void cmd_vcol( char *param1, char *param2 )        
{
     int    color1 = atoi(param1);
     int    color2 = atoi(param2);
     vehicle_setColor0( vehicle_info_get(VEHICLE_SELF, 0), color1 );
     vehicle_setColor1( vehicle_info_get(VEHICLE_SELF, 0), color2 );        
}
Добавлено через 1 минуту

Это где вводите?
В игре GTA San Andreas: Multiplayer, а выше указанный код, лишь часть так называемого чита s0beit.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 02:38 #8
Цитата Сообщение от LastChaos Посмотреть сообщение
В игре GTA San Andreas:
Нужно знать как там ввод обрабатывается. Что-нибудь знаете об этом?

Добавлено через 3 минуты
Вам второй параметр нужно обязательно через ввод передать? Если просто в функции прописать значение для color2?

Добавлено через 1 минуту
Или сформировать его из значения color1?
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 02:48  [ТС] #9
Цитата Сообщение от alsav22 Посмотреть сообщение
Нужно знать как там ввод обрабатывается. Что-нибудь знаете об этом?
Понятия не имею. Но могу показать пример с несколькими параметрами, но там нет atoi:
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
void cmd_fakefamchat (char *param) 
{ 
    char текст[50]; 
    char ник[50]; 
    char ранг[50];
    int  ид;  
    char buf[100]; 
 
    if(strlen(param) < 1 || sscanf(param, "%s %s %i %s", &ранг, &ник, &ид, &текст) < 4) return addToChatWindow("/fakefamchat [ранг] [ник] [ид] [текст]", D3DCOLOR_XRGB(255, 255, 255)); 
 
    char *zam = "+"; 
    char *zam2 = " "; 
    for(int simvol=0; simvol<strlen(текст)+1; simvol++) 
    { 
     if(текст [simvol]== *zam)текст [simvol]= *zam2; 
    } 
 
    sprintf(buf, " [F] %s %s [%i]: %s", ранг, ник, ид, текст); 
    addToChatWindow(buf, D3DCOLOR_XRGB(0, 217, 0)); 
}
И вот еще vehicle_setColor0 и vehicle_setColor1:
C++
1
2
3
4
5
6
7
8
9
10
11
12
void vehicle_setColor0 ( vehicle_info *vinfo, int new_color )
{
    traceLastFunc( "vehicle_setColor0()" );
    if ( vinfo == NULL )
        return;
 
    vinfo->color[0] = new_color;
    if ( g_SAMP != NULL )
    {
        sendSCMEvent( 3, g_Players->pLocalPlayer->sCurrentVehicleID, new_color, vinfo->color[1] );
    }
}
C++
1
2
3
4
5
6
7
8
9
10
11
12
void vehicle_setColor1 ( vehicle_info *vinfo, int new_color )
{
    traceLastFunc( "vehicle_setColor1()" );
    if ( vinfo == NULL )
        return;
 
    vinfo->color[1] = new_color;
    if ( g_SAMP != NULL )
    {
        sendSCMEvent( 3, g_Players->pLocalPlayer->sCurrentVehicleID, vinfo->color[0], new_color );
    }
}
Может сможете что нибудь разобрать из этого, если еще что нужно, я могу скинуть.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 02:55 #10
Вызов, какой-либо другой функций с двумя параметрами, делали?

Добавлено через 38 секунд
На два вопроса не ответили.
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 02:57  [ТС] #11
Цитата Сообщение от alsav22 Посмотреть сообщение
Вам второй параметр нужно обязательно через ввод передать? Если просто в функции прописать значение для color2?

Добавлено через 1 минуту
Или сформировать его из значения color1?
Да, через ввод команды. Никак не сформируешь, это совершенно разные цифры не имеющие к себе никакого отношения.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 03:06 #12
Цитата Сообщение от LastChaos Посмотреть сообщение
Никак не сформируешь, это совершенно разные цифры не имеющие к себе никакого отношения.
Если без формирования, просто написать то что нужно? Где вы всё это делаете? Коды функций откуда? Сами писали? Как проверяете сработало, не сработало?

Добавлено через 2 минуты
Вот в этих строчках очерёдность параметров разная. Так и должно быть?
C++
1
2
sendSCMEvent( 3, g_Players->pLocalPlayer->sCurrentVehicleID, new_color, vinfo->color[1] );
sendSCMEvent( 3, g_Players->pLocalPlayer->sCurrentVehicleID, vinfo->color[0], new_color );
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 03:08  [ТС] #13
Цитата Сообщение от alsav22 Посмотреть сообщение
Если без формирования, просто написать то что нужно? Где вы всё это делаете? Коды функций откуда? Сами писали? Как проверяете сработало, не сработало?
1. Не понял
2. У создателя чита s0beit есть Open Source в открытом доступе, скачал, и через VC 2010 разбираюсь.
3. Из готового проекта.
4. Нет
5. Захожу в игру, сажусь в машину, ввожу команду и номера цветов. Если цвет машины меняется - значит работает. Пока только меняется 1 из 2-х возможных.
alsav22
5417 / 4813 / 442
Регистрация: 04.06.2011
Сообщений: 13,587
02.07.2013, 03:09 #14
На это ответьте.
Цитата Сообщение от alsav22 Посмотреть сообщение
Вызов, какой-либо другой функции с двумя параметрами, делали?
LastChaos
1 / 1 / 0
Регистрация: 25.05.2013
Сообщений: 88
02.07.2013, 03:11  [ТС] #15
Цитата Сообщение от alsav22 Посмотреть сообщение
Если без формирования, просто написать то что нужно? Где вы всё это делаете? Коды функций откуда? Сами писали? Как проверяете сработало, не сработало?

Добавлено через 2 минуты
Вот в этих строчках очерёдность параметров разная. Так и должно быть?
C++
1
2
sendSCMEvent( 3, g_Players->pLocalPlayer->sCurrentVehicleID, new_color, vinfo->color[1] );
sendSCMEvent( 3, g_Players->pLocalPlayer->sCurrentVehicleID, vinfo->color[0], new_color );
Да, проверял без помощи ввода, а с уже прописанным параметров в коде - работает.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
02.07.2013, 03:11
Привет! Вот еще темы с ответами:

Вернуть 2 параметра из функции - C++
Доброе время суток. Объясните, пожалуйста как вернуть 2 параметра из функции? Очень желательно на таком примере - Написать функцию...

Вычислить значение функции (значение переменной Х передается в качестве параметра функции) - C++
Написать функцию, которая возвращает вычисленное значение функции. Значение переменной Х передается в качестве параметра функции.

Функции, зависимые от параметра шаблона - C++
Всем привет. Допустим имеется шаблонный класс template&lt;class T&gt; class Test { T _t; public: Test(T&amp; t) : _t(t) { } int...

Передача функции в роли параметра - C++
Привет всем. Помогите решить проблему по поводу передачи функции в виде параметра у нас два класса А и Б. у класса Б есть шаблонный...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
02.07.2013, 03:11
Ответ Создать тему
Опции темы

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