Quadratische Gunktionen Part2

Hallo,
schreibe an einem programm, das eine quadratische funktion wie
f(x)= ax² + bx + c
ausrechnet.
klappt auch alles bis jetzt echt gut, nur leider hab ich probleme damit, wenn eine der variabeln negativ ist? wie kann ich das denn ändern?
und was ich nicht weiß, wie man mehrere bedingungen in eine if bedingung schreibt.
das is das was bisher gut klappt, nur leider halt nicht mit den negativen variabeln:

a = StrToFloat (Edit1 -> Text);
b = StrToFloat (Edit2 -> Text);
c = StrToFloat (Edit3 -> Text);

if ((pow(b,2)/4-c >=0) && (pow(b,2) >= 4*c) && (a != 0)) //&& (4*a*c Caption = x1;
}
if ( x1 == 0)
{

Label4 -> Caption = " Es gibt keine weitere Lösung";
}

else
{
x2 = -b/2*a - sqrt (pow(b,2) - 4*a*c)/2*a;
Label6 -> Caption = x2;
}

also wie gesagt es klappt eigentlich alles bis auf die beiden sachen, aber vielleicht kann man aus meinen 4 bedingungen 2 machen? bin nich so das mathe ass :wink:.
bin um jede hilfe dankbar, das programm wird bewertet…

dankeschön

lg

Hallo,

ich würde es so machen:

double D = pow(b, 2) - 4 \* a \* c; // Diskriminante
if (D 
Ich hoffe ich konnte helfen :smile:

MfG
DDR-RAM

Danke, sieht nich schlecht aus…aber was is D?
hab so fast gar keine ahnung davon… nen anfänger *gg*

auf jeden fall danke!!!

Danke, sieht nich schlecht aus…aber was is D?

D ist die Diskriminante :wink:
Das ist das, was bei der allg. Lösung unter der Wurzel steht :wink:
Deshalb muss ich mich korrigieren!

Es heißt natürlich:
double x1 = (-b + sqrt(D)) / (2 * a);
double x2 = (-b - sqrt(D)) / (2 * a);

Jeder macht mal nen fehler :wink:

MfG
DDR-RAM

Dankeschön :smile:).
endlich geschafft!
klappt alles perfekt :smile:.

ich weiß zwar noch nich, was so einiges da bedeutet, aber das bekomm ich schon noch raus :smile:.
muss ich eigentlich double x schreiben? würde x nicht reichen? kann ich nich das ganze double weglassen :wink:. hatten wir noch nich, irgendwie würde das auffallen :wink:.

Dankeschön :smile:).

LG
Diablotin