Foro de elhacker.net

Programación => Programación Visual Basic => Mensaje iniciado por: Dreamaker en 27 Abril 2010, 03:02 am



Título: [Ayuda] Solucionador de raíces cuadráticas
Publicado por: Dreamaker en 27 Abril 2010, 03:02 am
Bueno amigos tengo una duda con este codigo que no me funciona, tiene que cumplir con las siguientes normas:

Todos conocemos la formula para averiguar raices, donde segun mi gusto D vale b^2 -4(A)(C)

Si D > 0 Entonces que muestre X1 y X2
Si D = 0 Entonces X1 = X2
Si D < 0 entonces que muestre -(b)/ 2*a + SQR o Raiz de (b)^2 -4 (A) (C) / 2*a

Acá esta el código:

Código
  1. Private Sub cmdOperar_Click()
  2. 'Declaración de variables
  3. Dim A As Integer, B As Integer, C As Integer, D As Integer, E As Integer, X1 As Long, X2 As Long, aux As Long, funcion As Long
  4.  
  5.  
  6. 'Asignación de objetos a las variables
  7. A = Val(txtNum1.Text)
  8. B = Val(txtNum2.Text)
  9. C = Val(txtNum3.Text)
  10. D = (B) ^ 2 - 4 * (A) * (C)
  11. E = -(B) / 2 * (A)
  12. X1 = E + (Sqr(D)) / 2 * (A)
  13. X2 = E - (Sqr(D)) / 2 * (A)
  14. aux = (Sqr(D)) / 2 * (A)
  15. funcion = E + aux
  16.  
  17.  
  18.  
  19. 'Condiciones
  20. If D > 0 Then
  21.    txtRaiz1.Text = Str(X1)
  22.    txtRaiz2.Text = Str(X2)
  23. End If
  24.  
  25. If D = 0 Then
  26.    X1 = X2
  27. End If
  28.  
  29. If D < 0 Then
  30.    txtRaiz1.Text = funcion
  31. End If
  32.  
  33.  
  34. End Sub

Aca una imagen del programa:
(http://i41.tinypic.com/2w7fyc2.jpg)


Y aca les dejo el proyecto por si lo quieren revisar:

http://www.mediafire.com/?jowqozzzmmj (http://www.mediafire.com/?jowqozzzmmj)

Muchas gracias, no sé que es lo que puede estar saliendo mal :-\


Título: Re: [Ayuda] Solucionador de raíces cuadráticas
Publicado por: MCKSys Argentina en 27 Abril 2010, 05:44 am
No sé si será, pero puede ser esto (cita de la MSDN):

Código:
Nota   La función Val sólo reconoce el punto (.) como separador decimal válido. Cuando se utilizan separadores decimales diferentes, como en aplicaciones internacionales, debe utilizar CDbl para convertir una cadena a un número.

Quizás estas usando comas como separador decimal ???


Título: Re: [Ayuda] Solucionador de raíces cuadráticas
Publicado por: Dreamaker en 27 Abril 2010, 14:48 pm
No sé si será, pero puede ser esto (cita de la MSDN):

Código:
Nota   La función Val sólo reconoce el punto (.) como separador decimal válido. Cuando se utilizan separadores decimales diferentes, como en aplicaciones internacionales, debe utilizar CDbl para convertir una cadena a un número.

Quizás estas usando comas como separador decimal ???

Mmm nop, el Val está bien usado, en VB los puntos (.) son comas y las comas puntos, aunque para el val lo único que hice fue llamar al método .text de las cajas de texto para que cuando el usuario ingrese un valor lo convierta a número (por ej si entra una letra que no es número, la toma como 0)

Igual gracias por tu ayuda, no sé en que estoy mal :-\ a ver si alguien me puede dar una mano


Título: Re: [Ayuda] Solucionador de raíces cuadráticas
Publicado por: Maik33 en 27 Abril 2010, 21:59 pm
E cogido tu programa y le cambie el codigo de operar, a mi me funciona ay te lo dejo

Código:
Private Sub cmdBorrar_Click()
txtRaiz1.Text = ""
txtRaiz2.Text = ""
End Sub

Private Sub cmdOperar_Click()
Dim a As Integer, b As Integer, c As Integer
a = Val(txtNum1.Text)
b = Val(txtNum2.Text)
c = Val(txtNum3.Text)
txtRaiz1.Text = -b + Sqr((b * b) - (4 * a * c)) / 2 * a
txtRaiz1.Text = -b - Sqr((b * b) - (4 * a * c)) / 2 * a
If txtRaiz1.Text = txtRaiz2.Text Then
txtRaiz2.Text = ""
End If
End Sub

Private Sub cmdSalir_Click()
End
End Sub



Título: Re: [Ayuda] Solucionador de raíces cuadráticas
Publicado por: MontiChachitoMontalvo en 8 Mayo 2014, 05:40 am
Como resulvo la raiz cuadrada de 89225...???


Título: Re: [Ayuda] Solucionador de raíces cuadráticas
Publicado por: engel lex en 8 Mayo 2014, 05:52 am
Como resulvo la raiz cuadrada de 89225...???

Sqr(89225)