Dev - C++ - POW

 
Vista:
Imágen de perfil de Loeno

POW

Publicado por Loeno (1 intervención) el 24/08/2022 03:57:16
Hola, tengo esto:

double WINAPI Mipotencia(double nBase, double nExponente)
{
double media;
media = pow (nBase , nExponente);
return (media);
}

Pero cuando uso lo siguiente:

Mipotencia(2, 2)

Sea cuales sean los números, siempre me devuelve 1 ¿Qué hago mal? Gracias
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
sin imagen de perfil
Val: 1.440
Bronce
Ha mantenido su posición en Dev - C++ (en relación al último mes)
Gráfica de Dev - C++

POW

Publicado por dario (718 intervenciones) el 24/08/2022 04:46:24
Hola, te mando esto espero te ayude.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
#include <iostream>
#include <cmath>
 
using namespace std;
 
double Mipotencia(double nBase, double nExponente)
{
    double media;
    media = pow (nBase , nExponente);
    return media;
}
 
int main() {
 
    cout << Mipotencia(2,2);
 
    return 0;
}
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de Abraham Valencia

POW

Publicado por Abraham Valencia (1 intervención) el 24/08/2022 06:48:38
Gracias, veo que mi pregunta anterior salió con ¿otro usuario? Es bastante más lo que tengo ya que quiero usar una función de una librería pero en Excel, no he tenido problemas para funciones con operaciones simples, pero con POW no me da resultado, aunque sospecho que estos errando en el momento de exportar.

1
2
3
4
5
6
7
8
9
10
// xxxx.h - Contains declarations of our functions
#pragma once
 
#ifdef xxxx_EXPORTS
#define xxxx_API __declspec(dllexport)
#else
#define xxxx_API __declspec(dllimport)
#endif
 
extern "C" xxxx_API double Mipotencia(double nBase, double nExponente);

1
2
3
4
5
6
7
8
9
10
11
12
// xxxx.cpp
#include "pch.h"
#include "xxxx.h"
#include <iostream>
#include <cmath>
 
double WINAPI Mipotencia(double nBase, double nExponente)
{
    double media;
    media = pow(nBase, nExponente);
    return (media);
}

Y en xxxx.def:

1
2
3
LIBRARY xxxx
EXPORTS
      Mipotencia

Y en Excel:

1
2
3
4
5
6
7
Declare PtrSafe Function Mipotencia _
 Lib "D:\Ejemplos\VCpp\xxxx\x64\Debug\xxxx.dll" _
(ByRef nBase As Double, ByRef nExponente As Double) As Double
 
Sub Prueba()
MsgBox Mipotencia(8, 4)
End Sub

Así cambie los números siempre da 1, ponga decimales, enteros, cero, uno, etc. La librería se crea sin dilemas. Ojalá se entienda. Saludos y gracias.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar