Schreiben Sie ein Programm zur Lösung der quadratischen Gleichung ax2 + bx + c = 0
Die Koeffizienten a, b und c sollen von der Tastatur eingelesen werden. Ist die Diskriminante (b2 -4ac) negativ, gebe man den Text „Keine reellen Loesungen“ auf dem Bildschirm aus. Ist die Diskriminante nicht negativ, berechne man die Lösungswerte x1 sowie x2 und gebe sie auf dem Bildschirm aus.
Für a ≠0 gilt:
…
Das Programm soll auf Anfrage wiederholt ausgeführt werden können, vgl. Testlauf.
Hinweise:
Die Funktion double sqrt(double x) liefert die Quadratwurzel von x. Sie ist in der
Datei deklariert.
Testdaten:
- a=1, b=2, c=-3
- a=4, b=8, c=0
- a=1, b=2, c=3
- a=0, b=8, c=4
#include "stdafx.h"
#include "math.h"
#include
using namespace std;
int main(void)
{
double a, b, c;
for(char w='j'; w=='j'; )
{
cout << endl << "Loesung der quadratischen Gleichung" << endl <>a;
// Überprüfen ob a ungleich 0
if (a != 0)
{
cout << "b = ? ";
cin >>b;
cout << "c = ? ";
cin >>c;
// überprüfen ob diskriminante nicht negativ
if ( ( (b*b) -4 * a * c ) >= 0 )
{
cout << endl << "Loesung:" << endl << "x1 = "
<< (0.5 * a * (-b+sqrt((b*b)-4*a*c)))
<< endl << "x2 = "
<< ( 0.5 * a * (-b -sqrt( (b*b) -4 * a * c) ))
<> w;
}
return 0;
}