Wie kann ich mit einem C# Programm die Nullstellen einer quadratischen Gleichung ausrechnen?

3 Antworten

Denk dran, dass Methoden nicht der Reihe nach abgearbeitet werden (so, wie sie zufällig im Programmcode stehen), sondern dann, wenn sie aufgerufen werden.

An welche Stelle gehören also die Zuweisungen

      label5.Text = e.ToString();
      label7.Text = f.ToString();

?

-----

Math.Pow(double, double) erwartet zwei Argumente. Ein Aufruf wie

Math.Pow(d)

dürfte also gar nicht erst kompiliert werden. Nimm

Math.Pow(d, 0.5)

oder gleich

Math.Sqrt(d)

(Sqrt = square root = Quadratwurzel)

-----

Noch ein paar inhaltliche/stilistische Anmerkungen:

label5 und label7 würde ich durch TextBoxes ersetzen (mit .ReadOnly = true) -- es handelt sich um veränderliche Einträge, die der Benutzer vielleicht rauskopieren möchte

Die Variable n wird nirgends verwendet. Soll vielleicht 1.0/n das 2. Argument von Math.Pow() sein?

Die Texte von label1 bis label6 kannst du auch gleich in die Eigenschaftenseite der Steuerelemente eintragen (üblicherweise rechts unten im Fenster von VisualStudio)

Die Variablen a, b, c, d, e, f werden wo gebraucht und wo nicht? Wenn man Variablen möglichst nur dort haben will, wo sie gebraucht werden, wo müssten sie dann deklariert werden?

Die Variable nthRoot ist (so, wie sie hier verwendet wird) überflüssig -- sie wird ja jedesmal neu gesetzt. Außerdem würde sie nicht das Ergebnis von Math.Pow() enthalten, sondern das Ergebnis der folgenden Division. Das ist aus Sicht der Operationensparsamkeit zwar sinnvoll, doch ist dann der Name irreführend.

Woher ich das weiß:Hobby – Hobby, Studium, gebe Nachhilfe
Gawithsilver 
Fragesteller
 07.05.2018, 22:11

danke , ich werde es Mal so versuchen, weil bei der Quadratwurzel würde es mir immer unterringelt , das lag daran, dass ich ein Leerzeichen, statt einen Punkt dazwischen hatte

0
Gawithsilver 
Fragesteller
 07.05.2018, 22:13

ich bin es noch zu sehr von c++ von der arduino Software gewöhnt,dass alles der Reihe nach aufgerufen wird ...

0
PWolff  07.05.2018, 22:14
@Gawithsilver

Aber kennt nicht auch C++ Konstruktoren und andere Methoden?

0

..und..
je nachdem wie a,b,c gewählt wurde wird die Wurzel negativ und dies wird ebenfalls zu einem Fehler führen.
Hier musst du per Fallentscheidung diese Fälle prüfen, oder auch komplexe Lösungen ergänzend programmieren.  

Was für Fehler? (Bezeichnung)

e und f geht so ganz bestimmt nicht

Gawithsilver 
Fragesteller
 07.05.2018, 19:30

Das Programm startet und bricht sofort ab / wie kann ich e und f sonst erwähnen

0
PWolff  07.05.2018, 20:18

Geht schon, gibt aber "0.0" aus.

0