Quadratische Gleichung

hi ich schreibe im mom an einem Programm zur Berechnung einer Quadratischen Gleichung in c#.
Ich habe aber NULL Plan wie ich es hinbekommen soll das er eine Fehlermeldung durch Messagebox ausgibt, falls das Ergebnis nicht im Bereich von reelen Zahlen ist. Vlt kann mir da einer von euch helfen.

PS: Nicht falsch verstehen das mit der Messagebox bekommen ich hin aber ich find keine Gescheite Formel zum ausgrenzen.

Gruß Sven
 
falls das Ergebnis nicht im Bereich von reelen Zahlen ist.
Der Fall tritt ein wenn der Ausdruck unter der Wurzel (Diskriminante) kleier als Null ist. (Man kann keine Wurzel von negaiven Zahlen ziehen in dem Reellenzahlenraum)

Also einfach ausrechnen ob die Diskriminante negativ ist und wenn ja, dann abbrechen und keine Wurzel ziehen, sonst knallt dein Proggie :)
 
genau das habe ich gerade versucht aber ich weiß net wie ich das ausdrücken soll
kannste da nen tipp geben??

EDIT: Ich stell mal CODE rein


Code:
        private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                double a, b, c, x1, x2;
                string sx1, sx2;

                a = Convert.ToDouble(textBox1.Text);
                b = Convert.ToDouble(textBox2.Text);
                c = Convert.ToDouble(textBox3.Text);

                x1 = (-b + Math.Sqrt((b * b) - 4 * a * c)) / (2 * a);
                x2 = (-b - Math.Sqrt((b * b) - 4 * a * c)) / (2 * a);

                sx1 = Convert.ToString(x1);
                sx2 = Convert.ToString(x2);

                textBox4.Text = Convert.ToString(sx1);
                textBox5.Text = Convert.ToString(sx2);
                
               
            }
            catch
            {
                MessageBox.Show("Konvertierungsfehler", "Fehler", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            

            
            
        }

        private void button2_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Vielen Dank für die Nutzung","Bis zum nächsten Mal",MessageBoxButtons.OK,MessageBoxIcon.None); 
            Application.Exit();
        }
    }
 
Wie 90nop schon sagte: Schau dir doch einfach die Diskriminante an!

Code:
double diskriminante;
diskriminante = (b * b) - 4 * a * c;
if (diskriminante < 0) {
MessageBox.Show("Keine reelle Lösung" ...);
} else {
x1 = ...
x2 = ...
...
}

mfg, metax.
 
danke hab mal wieder auf dem schlauch gestanden ^^
ich versuchs direkt mal

EDIT: Klappt danke

ein großes Danke ans forum und Mitglieder
hier wird deinem immer kompetent geholfen
(hoffe ich kann auch irgentwann mal helfen *g*)
 
Zurück
Oben