p-q Formel und Ausgabe Nannan
-
Servus,
habe seit kurzem angefangen mich in C++ reinzuarbeiten und stehe vor der Aufgabe ein Programm zu schreiben , welches p-q Formeln löst.
Das Programm sieht bisher so aus:#include<iostream>
#include<cmath>using namespace std;
int main(){
double a, b, c, d, x1, x2;
//Für die Variabeln werden Beispielwerte eingesetztcout << "Geben Du Werte ein " << endl;
cin>> a >> b>> c;
d = sqrt(b*b - (4*a*c));if(d<0){
cout << "Keine Lösung " << endl;
return -1;
}if(d>0){
cout << "2 Lösung " << endl;
return 0;
}//Punkt vor Strich
x1 = (-b + d) / (2a);
x2 = (-b - d) / (2a);cout << x1;
cout << x2;return 0;
}
Es läuft fehlerlos aber nach der Wertenabfrage erscheint als Ausgabe:
nannanIch hoffe ihr könnt mir weiterhelfen und bitte versteht , dass ich ein blutiger Anfänger bin.
Ich entschuldige mich für meine mangelnde Recherche , falls es schon so einen ähnlichen Beitrag geben sollte.mfg
-
d = sqrt(b*b - (4*a*c)); if(d<0){Vielleicht solltest du noch einmal die Definition deiner Diskriminante überdenken. Die Wurzel von -4 ist jedenfalls nicht -2, falls du dieser Meinung sein solltest.
Und für den Fall, dass du a = b = c = 0 durchgerechnet haben solltest: Überleg dir mal, was diese Koeffizienten beschreiben und was die Lösung dieses "Gleichungs"systems ist. NaN klingt da nicht verkehrt (NaN steht für "Not a Number" und ist das Ergebnis von undefinierten Rechenoperationen, wie z.B. 0.0/0.0 oder sqrt(-1)).
-
Die Formel heißt pq-Formel, also wäre es doch am einfachsten, auch diese beiden Variablen in deinem Programm einzuführen!
Was sollen die drei einzugebenden Zahlen sein? Diese hier?
ax²+bx+c=0Ein cout, das die einzugebenden Zahlen beschreibt, wäre hilfreich.Schritt 1: berechne p und q
Schritt 2: berechne den Radikant
Schritt 3: Fallunterscheidung: Radikant = 0, > 0, oder < 0
Schritt 4: Lösung(en) ausgeben
-
Es ist auch eine gute Idee, die Eingaben nochmal auszugeben.
Ebenso die Zwischenergebnisse.Und zwischen deinen Ergebnissen sollte noch etwas Leerraum (auch Zeilenumbruch) stehen.