Hi
Ich bin hier grade dabei meine Übungsaufgabe, für die Informatikvorlesung zu schreiben und bin eigentlich auch so gut wie fertig. Nur hab ich hier ein schon fast peinliches Problem:
Ich rufe ein Funktion auf, der ich einige Variablen übergebe. Diese funktioniert in sich auch soweit. Nur möchte ich nun das Programm beenden, wenn diese Funktion aufgerufen wurde, weil dann auch die Aufgabe des Programms zu Ende ist. Ich hab mir nun gedacht, ich mache eine minimale if-Konstrucktion mit "return 0;" nach dem Funktionsaufruf wie diese hier:
Code:
//Berechne die Lösungen nach p-q-Formel
wurzel = sqrt((pow(p/2,2))-q);
x1 = (-p/2)+wurzel;
x2 = (-p/2)-wurzel;
//falls x1 oder x2 Null ergeben sollten, wir der Wurzelsatz von Vieta angewendet
if(vieta(x1,x2,p,q))
{
return 0;
}
else
{
cout << "\nWurzelergebnis: " << wurzel << endl;
cout << endl;
cout << "L\224sungen der Gleichung: " << endl;
cout << "x1 = -(p/2)+Wurzelausdruck " << x1 << endl;
cout << "x2 = -(p/2)-Wurzelausdruck " << x2 << endl;
}
Die Funktion "vieta()" wird aufgerufen, wenn "x1" oder "x2" Null ergeben sollten. Nun hab ich halt mal zum testen einen der Wert gleich Null gesetzt. Es funktioniert auch, nur anstatt dass die "else"-Konstrucktion übersprungen wird, wird sie ausgeführt. Wie kann ich das nun verhindern?
Ist es relevant, dass diese "if-else"-Konstrucktion sich selber auch nochmal in einer "else"-Konstrucktion befindet?
Vielen Danke schonmal für die Hilfe
Lesezeichen