Estoy realizando un programa que resuelve ecuaciones de segundo grado con la formula general .. Asi obtener las dos raices ..
Bueno .. toda va bien el programa corre excelente y da resultados correctos , el problema es cuando metes algun dato que hace que nos de un numero imaginario
sqr(numero negativo) .. Ahi es donde esta el problema .. Tengo que agregar una i que representa un numero imaginario les paso el codigo para que lo chequen .. la pregunta del millon es
¿Como hacerle para agregarle la i ?
Option Explicit
Dim a As Double
Dim b As Double
Dim c As Double
-------------------------------------------------------------------------------------------------
Private Sub Formula(a As Double, b As Double, c As Double, d As Double)
Dim raiz1 As Double
Dim raiz2 As Double
d = (b ^ 2 - 4 * a * c)
If d < 0 Then ' Aqui me atore
raiz1 = (-b + Sqr(d)) / (2 * a)
raiz2 = (-b - Sqr(d)) / (2 * a)
lblResultado1.Caption = raiz1
lblResultado2.Caption = raiz2
end sub
-------------------------------------------------------------------------------------------------
Private Sub cmdCalcular_Click()
If txta = "" Then
MsgBox "Ingrese el valor a", vbCritical, "Error"
txta.SetFocus
ElseIf txtb = "" Then
MsgBox "Ingrese el valor b", vbCritical, "Error"
txtb.SetFocus
ElseIf txtc = "" Then
MsgBox "Ingrese el valor c", vbCritical, "Error"
txtc.SetFocus
Else
a = Val(txta.Text)
b = Val(txtb.Text)
c = Val(txtc.Text)
End If
Call Formula(a, b, c)
End Sub
Bueno .. toda va bien el programa corre excelente y da resultados correctos , el problema es cuando metes algun dato que hace que nos de un numero imaginario
sqr(numero negativo) .. Ahi es donde esta el problema .. Tengo que agregar una i que representa un numero imaginario les paso el codigo para que lo chequen .. la pregunta del millon es
¿Como hacerle para agregarle la i ?
Option Explicit
Dim a As Double
Dim b As Double
Dim c As Double
-------------------------------------------------------------------------------------------------
Private Sub Formula(a As Double, b As Double, c As Double, d As Double)
Dim raiz1 As Double
Dim raiz2 As Double
d = (b ^ 2 - 4 * a * c)
If d < 0 Then ' Aqui me atore
raiz1 = (-b + Sqr(d)) / (2 * a)
raiz2 = (-b - Sqr(d)) / (2 * a)
lblResultado1.Caption = raiz1
lblResultado2.Caption = raiz2
end sub
-------------------------------------------------------------------------------------------------
Private Sub cmdCalcular_Click()
If txta = "" Then
MsgBox "Ingrese el valor a", vbCritical, "Error"
txta.SetFocus
ElseIf txtb = "" Then
MsgBox "Ingrese el valor b", vbCritical, "Error"
txtb.SetFocus
ElseIf txtc = "" Then
MsgBox "Ingrese el valor c", vbCritical, "Error"
txtc.SetFocus
Else
a = Val(txta.Text)
b = Val(txtb.Text)
c = Val(txtc.Text)
End If
Call Formula(a, b, c)
End Sub