Форум программистов, компьютерный форум, киберфорум
Наши страницы

Ошибка при работе с dll - невозможно преобразовать параметр - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Ошибка в функции http://www.cyberforum.ru/cpp-beginners/thread888513.html
#include <iostream> #include <conio.h> #include <Windows.h> #include <iomanip> using namespace std; char bufUkr; char *Ukr(const char* text) {
C++ Скомпилить код алгоритма симметричного шифрования ребят, помогите плз, не могу скомпилить...не работает.. нужен экзэшник...https://code.google.com/p/cryptospecs/wiki/Symmetrical вот хорошие вроде бы коды..мне нужен один из E2, HPC, MACGUFFIN, Misty... http://www.cyberforum.ru/cpp-beginners/thread888504.html
C++ Сделать что-бы строка бралась с файла (определить отношение количества гласных букв в предложении к согласным)
Задание: Определить отношение количества гласных букв в предложении к согласным. код:#include <iostream> #include <conio.h> #include <string> #include <cctype> using namespace std; int main()...
C++ Зеркально поменять местами разряды младшего байта четных чисел, затем определить максимальное число в массиве и его индекс
Помогите! Очень срочно! Нужно написать программу: 2. Зеркально поменять местами разряды младшего байта четных чисел, затем определить максимальное число в массиве и его индекс Желательно с...
C++ Матрица из разных типов http://www.cyberforum.ru/cpp-beginners/thread888472.html
хочу создать клас Matrix елементы обьектов которого могли бы быть разных типов. была идея создать клас Cell и определить его как шаблонный клас, но тогда и в класе матрици надо будет задавать тип, а...
C++ Stack around the variable 'cif' was corrupted #include <iostream> using namespace std; void main (){ char cif="1234567891111199121"; int i=0, j=0, dlin=0, razn=0, ost=0, z=0; int doprazn; dlin=strlen(cif); razn=dlin/6; подробнее

Показать сообщение отдельно
andyoO
1 / 1 / 0
Регистрация: 19.12.2012
Сообщений: 68
03.06.2013, 10:33  [ТС]
вот полный код проги, дело в том, что вообще не передаются данные(
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
#include "StdAfx.h"
#include <math.h> 
#include <string.h>
#include <conio.h>
#include <iostream>
#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#include <time.h>
#include <windows.h> 
using namespace std;
long double factorial(double k=0)
{
    if (k == 0) 
        return 1; 
    else
        return k * factorial(k - 1); // делаем рекурсию.
 
}
double function(double x, double eps)
{
double func=1,funct=1,k=0; 
do
{
func=funct;
k++;
funct=func+pow(x,k)/factorial(k); 
} while(abs(funct-func)>=eps); 
return func;
};
 
double epsil (double x,double fun)
{
return (sqrt(abs(exp(x)*exp(x) - fun*fun)));
};
 
 
int main(int argc, _TCHAR* argv[])
{ setlocale(LC_ALL,"Russian");
    HINSTANCE mydll = LoadLibrary (L"my_dll.dll");
    if (mydll==NULL)
    {
        cout<<"error!!!";
        return 0;
    }
    typedef double (*Func_epsil)(double, double, double);
    Func_epsil epsil_dll = (Func_epsil)GetProcAddress( mydll, "epsil" );
 
    typedef double (*Func_function_dll)(double, double);
    Func_function_dll function_dll = (Func_function_dll)GetProcAddress( mydll, "function" );
 
    typedef double (*Func_eksponent)(double);
    Func_eksponent eksponent_dll = (Func_eksponent)GetProcAddress( mydll, "eksponent" );
double eps ,fun=0, xna4, xkon, delta,x,xideal,m;
cout<<("Введите начальное Х\n");
cin>>xna4;
cout<<("Введите конечное X\n");
cin>>xkon;
cout<<("Введите шаг\n");
cin>>delta;
if (delta == 0)
{ cout<<("Неверно, введите новое значение\n");
cout<<("шаг"); 
cin>>delta;}
while (xna4>xkon && delta>0)
{ cout<<("Неверно, введите новое значение\n");
cout<<("шаг\n"); 
cin>>delta;
cout<<("x начальное\n"); 
cin>>xna4;
cout<<("x конечное\n"); 
cin>>xkon;}
while (xna4<xkon && delta<0)
{ cout<<("Неверно, введите новое значение\n");
cout<<("Введите корректное значение x начальное\n"); 
cin>>xna4;
cout<<("Введите корректное значение x конечное\n"); 
cin>>xkon;
cout<<("Введите корректное значение шага\n"); 
cin>>delta;
}
 
while(abs(xna4-xkon)<delta) {
cout<<("Введите корректное значение x начальное\n");
cin>>xna4;
cout<<("Введите корректное значение x конечное\n");
cin>>xkon;
cout<<("Введите корректное значение шаг\n");
cin>>delta; }
if (xna4==xkon) {printf ("Неверно, введите новое значение\n"); 
cout<<("Введите корректное значение x начальное\n");
cin>>xna4;
cout<<("Введите корректное значение x конечное\n");
cin>>xkon;
cout<<("Введите корректное значение шаг\n");
cin>>delta;
}
 
cout<<"Введите точность\n";
cin>>eps;
//if ((eps>0.1) (eps<0.0000001) || eps<0 || eps!=0) //1
while ((eps>1) || (eps<=0)) 
{
cout<<("Введите корректное значение точности\n");
cin>>eps;
}
cout<<"Введите Х идеальное\n ";
cin >> xideal;
printf ("----------------------------------------------------------------\n");
printf ("|     x      |  MyFunction(x) |      pi/4      |      delta     |\n");
printf ("----------------------------------------------------------------\n");
for (x=xna4; x<=xkon; x=x+delta)
{
printf("|%12.4f| %14.7f | %14.7f | %14.7f |\n",x,function_dll(x,eps),eksponent_dll,epsil(x,function(x,eps)));
printf ("----------------------------------------------------------------\n");
}
 
for (x=xna4; x>=xkon; x=x+delta)
{
printf("|%12.4f| %14.7f | %14.7f | %14.7f |\n",x,function_dll(x,eps),eksponent_dll,epsil(x,function(x,eps)));
printf ("----------------------------------------------------------------\n");
}
 
printf ("----------------------------------------------------------------\n");
printf ("|     eps    |  MyFunction(x) |      pi/4      |     delta      |\n");
printf ("----------------------------------------------------------------\n");
for (eps=0.1;eps>0.0000001;eps=eps*0.1) // 1
{
printf("|%12.7f| %14.7f | %14.7f | %14.7f |\n",eps,function_dll(xideal,eps),exp(xideal),epsil(x,function(x,eps)));
printf ("----------------------------------------------------------------\n");
}
getch();
}
my_dll
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
#include "stdafx.h"
#include <math.h>
 
extern "C" __declspec(dllexport) double epsil (double x,double fun);
extern "C" __declspec(dllexport) double function(double x, double eps)
 
double epsil (double x,double fun);
long double factorial(double k=0);
double function(double x, double eps)
 
extern "C" __declspec(dllexport) double function(double x, double eps)
{
    return function(double (x), double (eps));
}
 
extern "C" __declspec(dllexport) double epsil (double x,double fun)
{
    return epsil (double (x),double (fun));
}
extern "C" __declspec(dllexport) double eksponent (double x)
{
    return exp(x);
}
 
long double factorial(double k=0)
{
    if (k == 0) 
        return 1; 
    else
        return k * factorial(k - 1); // делаем рекурсию.
 
}
 
double function(double x, double eps)
{
double func=1,funct=1,k=0; 
do
{
func=funct;
k++;
funct=func+pow(x,k)/factorial(k); 
} while(abs(funct-func)>=eps); 
return func;
};
 
double epsil (double x,double fun)
{
return (sqrt(abs(exp(x)*exp(x) - fun*fun)));
};
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru