Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.12.2008, 23:26   #1
asd48
Пользователь
 
Регистрация: 30.11.2008
Сообщений: 32
По умолчанию Функция в VB

Написал функцию в С++, теперь надо VB, но что-то не получается, подскажите плиз, что не так и как должно быть правильно.
Вот код в С++:
#include <iostream>
#include <iomanip>
#include <math.h>

using namespace std;
float func (float x , float a , float b , float c );
int func (float x, int a ,int b, int c);

int main()
{
float Xn,Xk,dX,x,a,b,c;
cout<<"Xn="; cin>>Xn;
cout<<"Xk="; cin>>Xk;
cout<<"dX="; cin>>dX;
cout<<"a="; cin>>a;
cout<<"b="; cin>>b;
cout<<"c="; cin>>c;
cout<<"___________"<<endl;
cout<<""<<endl;


for (x=Xn;x<Xk+dX/2;x+=dX)
{
cout<<"x="<<x<<"\t";
if ((((int)a & (int)b)|((int)b & (int)c))==0) func((float) x,(int) a,(int) b,(int) c);
else func((float) x,(float) a,(float) b, (float)c);
}

return 0;
}

float func (float x, float a, float b, float c)
{
if (b!=0) cout<<"f="<<a*x*x+b*b*x<<setw(5)<<" \n";
else if (c>=0) cout<<"f="<<((x+a)/(x+c))<<setw(5)<<"\n";
else cout<<"f="<<(x/c)<<setw(5)<<"\n";

return 0;
}

int func (float x, int a, int b, int c)
{
if (b!=0) cout<<"f="<<a*x*x+b*b*x<<setw(5)<<" \n";
else if (c>=0) cout<<"f="<<((x+a)/(x+c))<<setw(5)<<"\n";
else cout<<"f="<<(x/c)<<setw(5)<<"\n";

return 0;
}



А вот, то, что я сделал в VB:
Function F1(a As Single, b As Single, c As Single, x As Single) As Single

If b! = 0 Then
f = a * (x ^ 2) + (b ^ 2) * x
ElseIf c >= 0 Then
f = (x + a) / (x + c)
Else
f = x / c
InputBox "f=", F1
End If
End Function
Function F2(a As Integer, b As Integer, c As Integer, x As Single) As Integer
If b! = 0 Then
f = a * (x ^ 2) + (b ^ 2) * x
ElseIf c >= 0 Then
f = (x + a) / (x + c)
Else
f = x / c
InputBox "f=", F2
End If
End Function
Private Sub Command1_Click()
Dim Xn As Single
Dim Xk As Single
Dim dX As Single
Dim a As Single, b As Single, c As Single, x As Single, F1 As Single, F2 As Single
a = Text1.Text
b = Text2.Text
c = Text3.Text
Xn = Text4.Text
Xk = Text5.Text
dX = Text6.Text
For x = Xn To Xk Step dX
Print x
If ((a = Int(a) And b = Int(b)) Or (b = Int(b) And c = Int(c))) = 0 Then f = F1
Else
f = F2


Next

End Sub
asd48 вне форума Ответить с цитированием
Старый 25.12.2008, 23:29   #2
asd48
Пользователь
 
Регистрация: 30.11.2008
Сообщений: 32
По умолчанию

вот сама функция:
asd48 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Функция asd48 Помощь студентам 2 21.12.2008 17:17
функция sergei64_89 Общие вопросы C/C++ 2 25.05.2008 16:48
Функция... Sota Помощь студентам 5 24.05.2008 22:19
Функция в c++ JOFRIF Помощь студентам 1 08.05.2008 18:30
одна функция потока, а другая функция - член класса запускающего этот поток Дмитрий_Ч Общие вопросы C/C++ 2 27.09.2007 08:50