Hola!! al parecer hay un error en mi codigo y no se cual es. trato de calcular formula cuadratica y al apachar mi boton de calcular en los textbox de respuesta aparece NeuN alguien que me ayude con esto porfavor. :P :P
Double a, b, c, x, x1;
private: System::Void button1_Click(System::Object^ sender, System::EventArgs^ e) {
a = Convert::ToDouble(textBox1->Text);
b = Convert::ToDouble(textBox2->Text);
c = Convert::ToDouble(textBox3->Text);
x= -b + sqrt(b*b-4*a*c)/2*a;
x1= -b - sqrt(b*b - 4 * a*c) / 2 * a;
textBox4->Text = Convert::ToString(x);
textBox5->Text = Convert::ToString(x1);
Si a =0 tendras division por cero y un NaN ("not a number")
Digamos el caso de 5x -7 (no hay un X^2 en tu ecuacion) lo puedes despejar directamente:
5x - 7 = 0
5x = 7
x = 7/5
O sea... x = -c / b (unica solucion)
Esa operación está mal planteada. Tienes que poner paréntesis.
Actualmente tienes esto:
-b + ( (sqrt(b*b-4*a*c) / 2) *a)
Y quieres lograr esto:
(-b + sqrt(b*b-4*a*c) ) / (2*a)
Ahora hay 2 problemas: no hay raiz cuadrada de números negativos, que ha de ser el problema que tenías, y no se divide entre 0.
Así que:
-Si a y b son 0, error.
-Si a es 0 y b no, como dijo boctulus: -c/b
-Si b es 0 y a no: sqrt(-c/a), comprobando que -c/a sea positivo o cero.
-Si a y b son distintos de 0, la fórmula, salvo que b*b-4*a*c sea negativo, en tal caso error.