Visual basic 6.0

Hola necesito hacer un programa en visual basic en donde el usuario ingrese un numero y este sea el numero de veces que se repita el bucle para obtener pi por el método wallis
con la siguiente fórmula:
(((2*n)/(2n-1)*((2*n)/(2n+1)))
mi codigo es el siguiente:
Private Sub cmdcalcular_Click()
n = 2
num = (txtterminos.Text)
For i = 1 To num
ope = (n / ((2 * n) - 1)) * (n / ((2 * n) + 1))
n = 2 * n
Next i
lblpi.Caption = ope
End Sub
Private Sub cmdcalcular_Click()n = 2num = (txtterminos.Text)For i = 1 To numope = (n / ((2 * n) - 1)) * (n / ((2 * n) + 1))n = 2 * n
Next i
lblpi.Caption = ope
End Sub
y mi  problema es que no acepta numeros mayores a 999 pues me marca un desbordamiento (que no se que significa), y me muestra como resultado 25 a partir del 24. Me podrian ayudar a corregir mi problema por favor!??

1 Respuesta

Respuesta
1
A todas las variables que le ingreses números debes declararlas como LONG o entero largo, para que no sufras por el error 6 overflow o desbordamiento, la manera que debes hacerlo es la siguiente, esto debes tipearlo arriba, fuera de los controles, por ejemplo:
Dim n as Long
Private Sub cmdcalcular_Click()
n = 2
num = (txtterminos.Text)
For i = 1 To num
ope = (n / ((2 * n) - 1)) * (n / ((2 * n) + 1))
n = 2 * n
Next i
lblpi.Caption = ope
End Sub
Siempre se colocan las variables para que queden globales, si quieres que sean publicas dentro de tu proyecto solo debes poner en vez de Dim, Public así la podrás ver desde cualquier formulario, prueba eso y me cuentas como te va.
Suerte y saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas