Quadratische Funktionen in C++?

1 Antwort

Bei der Funktion würde ich die a, b, und c als eigenen Parameter übergeben. Der Typ double dürfte gut passen.

Als Rückgabewert würde ich eine Klasse/Struct mit x1 und x2 Attribut benutzen. So lassen sich 2 oder auch 3 Werte zurückgeben, welche man gut auseinander halten kann.

struct result
{
    double x1;
    double x2;
    int solutions;
};

Die Deklaration der gesamten Funktion wäre dann:

result pqFormel(double a, double b, double c);

Die Berechnung/Umwandlung von p und q ist auch einfach.

double p = b / a;
double q = c / a;

Die Berechnung der PQ Formel sollte die bekannt sein. Mit den Funktionen pow(Basis, Exponent) und sqrt(Zahl) kannst du die PQ Formel berechnen. Importiere dazu:

#include <cmath>

Achte dabei auf die Klammern, damit auch die richtige Reihenfolge benutzt wird. Zur Übersicht kannst du Zwischenergebnisse in Variablen speichern.

Zum Ende kannst du dann x1 und x1 setzen und zurückgeben.

result ergebnis = result();

ergebnis.x1 = x1;
ergebnis.x2 = x2;
ergebnis.solutions = [Anzahl Lösungen];

return ergebnis;

Die Anzahl der Lösungen kannst du durch ein If abfragen und dann setzen. Falls es keine Lösung gibt, musst du x1 und x2 auf 0 setzen.

Beim Testen gibt es du Werte in die Funktion rein und erwartest am Ende bestimmte Werten.

Im kleinen Testprogramm, welches du dann noch entwickeln musst, hast du Zugang zu x1, x2 und der Anzahl der Lösungen. Mit if oder auch switch kannst du zwischen der Anzahl an Lösungen unterscheiden und die Ausgabe entsprechend anpassen.

Falls du an der vollen Funktion interessiert bist, kannst ich ein Beispiel von der Funktion teilen.


qodNvcx 
Fragesteller
 08.02.2022, 08:10

Ich danke dir! Das hat mir geholfen.

0