Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Return в функции типа double, Оптимизация программы 
V
    Опции темы
XSonicX
Дата 10.6.2010, 12:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 14.7.2006
Где: Таллинн, Edinburg h

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



Здравствуйте!
Постараюсь как можно кратче изъяснить суть.
пс. в этом всем еще полный нуб... прощу прощения если чего как..
Код

// как по моим представлениям должна работать функция
double alphaExist(double alr)
        {
        double sina=sin(alr);
        double cosa=sqrt(1-pow(sina,2));
        double tana=sina/cosa;
        return sina, cosa, tana;
                }
//конец функции и начало кнопки
void CTrianglesolutionDlg::OnBnClickedRun()
{
UpdateData(true);
    int i=0;
    while(i<=10)
        {
        double alr=al*M_PI/180;
    double ber=be*M_PI/180;
    double gar=ga*M_PI/180;
    double cota;

    if(al!=0)
    {
                // постоянный код начало:
        sina=sin(alr);
        cosa=sqrt(1-pow(sina,2));
        tana=sina/cosa;
                // конец
        alphaExist(alr); // вместо кода чтобы была простая функция и выводила значения в формы EDIT(sina, cosa, tana) после нажатия кнопки

    }
    else
    {
        if(sina!=0)
        {
            al= asin(sinh(sina)); // СЮДА
        }
        else
        {
            S!=0&&b!=0&&c!=0? sina=2*S/b*c: S=S;
            a!=0&&sinb!=0&&b!=0? sina=a*sinb/b: a=a;
            a!=0&&sing!=0&&c!=0? sina=a*sing/c: a=a;
        }
        
        if(cosa!=0)
        {
            al= acos(cosh(cosa)); //СЮДА
        }
        else
        {
            cosa=0;
        }
        
        if(tana!=0)
        {
            al= atan(tanh(tana)); //СЮДА и т.д
            cota=1/tana;
        }
        else
        {
            tana=0;
        }
    if(be!=0)
    {
        sinb=sin(ber);
        cosb=sqrt(1-pow(sinb,2));
        tanb=sinb/cosb;
    }
    if(ga!=0)
    {
        sing=sin(gar);
        cosg=sqrt(1-pow(sing,2));
        tang=sing/cosg;
    }
    
    } 
    i++;
    }//WHILE END
UpdateData(false);
}


Вобщем как сделать так, чтобы функция (или может какой другой обработчик) вбивал в формы EDIT сразу по одному значению. И может ли вообще функция вбивать значения в формы? Если нет то как мне поступить в моем случае. (пс часть кода убрал, т.к слишком длинный, но нужное оставил)

Спасибо большое зарание
PM WWW Skype   Вверх
Albor
Дата 10.6.2010, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Создай функцию принимающую ссылки на переменные, тогда твоя функция сможет "вернуть" более одного значения, например:
Код

void alphaExist(double alr, double & sina, double & cosa, double & tana)
{
  sina=sin(alr);
  cosa=sqrt(1-pow(sina,2));
  tana=sina/cosa;

}

PM MAIL ICQ   Вверх
XSonicX
Дата 13.6.2010, 20:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 52
Регистрация: 14.7.2006
Где: Таллинн, Edinburg h

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



Albor, спасибо большое, был бы рад узнать как точно называется такой вариант функции и почитать про нее что нибудь, очень полезная штука smile
PM WWW Skype   Вверх
Albor
Дата 14.6.2010, 06:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



Тема называется "Передача параметров по ссылке", а функция обычная и называется прсто - функция. smile
PM MAIL ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




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


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

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