jojox
12.11.2008, 19:32
hi leute wir müssen für die schule ein programm das aus den variablen a b und c von ax²+bx+c die lösungsmenge(n) ausrechnet jetzt wollt ich fragen ob ihr mal drüber guckt ob das alles richtig ist bzw ob ich noch irgent ein fall vergessen hab oder ir irgent was anders machen würdet?
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
int main()
{
// Deklarationsteil
double a,b,c,diskriminante,loesungsmenge1,loesungsmenge2, zwischenrechnung;
int leeremenge,anzahlloesungen;
leeremenge=0;
// Eingabeteil
printf("Geben sie a ein\n");
scanf("%lf",&a);
fflush(stdin);
printf("Geben sie b ein\n");
scanf("%lf",&b);
fflush(stdin);
printf("Geben sie c ein\n");
scanf("%lf",&c);
fflush(stdin);
// Verarbeitungsteil
zwischenrechnung=(c/(-a));
diskriminante=(b*b)-(4*a*c);
if(a!=0 && b!=0 && c!=0)
{
if(diskriminante==0)
{
loesungsmenge1=(-b)/(2*a);
anzahlloesungen=1;
}
else if(diskriminante<0)
{
leeremenge=1;
}
else
{
loesungsmenge1=(-b-(sqrt((b*b)-(4*a*c))))/(2*a);
loesungsmenge2=(-b+(sqrt((b*b)-(4*a*c))))/(2*a);
anzahlloesungen=2;
}
}
else if(a==0 && b!=0)
{
loesungsmenge1=(-c)/b;
anzahlloesungen=1;
}
else if(zwischenrechnung>=0 && a!=0 && c!=0)
{
loesungsmenge1=sqrt(zwischenrechnung);
loesungsmenge2=-loesungsmenge1;
anzahlloesungen=2;
}
else
{
leeremenge=1;
}
// Ausgabeteil
if(leeremenge==1)
{
printf("Die Loesungsmenge ist Leeremenge\n");
}
else if(anzahlloesungen==1)
{
printf("x=%f\nL={%f}\n",loesungsmenge1,loesungsmenge1);
}
else
{
printf("x1=%f\nx2=%f\nL={%f;%f}\n",loesungsmenge1,loesungsmenge2,loesungsmenge1,loes ungsmenge2);
}
return 0;
}
schon mal danke im vorraus. :)
#include "stdafx.h"
#include <stdio.h>
#include <math.h>
int main()
{
// Deklarationsteil
double a,b,c,diskriminante,loesungsmenge1,loesungsmenge2, zwischenrechnung;
int leeremenge,anzahlloesungen;
leeremenge=0;
// Eingabeteil
printf("Geben sie a ein\n");
scanf("%lf",&a);
fflush(stdin);
printf("Geben sie b ein\n");
scanf("%lf",&b);
fflush(stdin);
printf("Geben sie c ein\n");
scanf("%lf",&c);
fflush(stdin);
// Verarbeitungsteil
zwischenrechnung=(c/(-a));
diskriminante=(b*b)-(4*a*c);
if(a!=0 && b!=0 && c!=0)
{
if(diskriminante==0)
{
loesungsmenge1=(-b)/(2*a);
anzahlloesungen=1;
}
else if(diskriminante<0)
{
leeremenge=1;
}
else
{
loesungsmenge1=(-b-(sqrt((b*b)-(4*a*c))))/(2*a);
loesungsmenge2=(-b+(sqrt((b*b)-(4*a*c))))/(2*a);
anzahlloesungen=2;
}
}
else if(a==0 && b!=0)
{
loesungsmenge1=(-c)/b;
anzahlloesungen=1;
}
else if(zwischenrechnung>=0 && a!=0 && c!=0)
{
loesungsmenge1=sqrt(zwischenrechnung);
loesungsmenge2=-loesungsmenge1;
anzahlloesungen=2;
}
else
{
leeremenge=1;
}
// Ausgabeteil
if(leeremenge==1)
{
printf("Die Loesungsmenge ist Leeremenge\n");
}
else if(anzahlloesungen==1)
{
printf("x=%f\nL={%f}\n",loesungsmenge1,loesungsmenge1);
}
else
{
printf("x1=%f\nx2=%f\nL={%f;%f}\n",loesungsmenge1,loesungsmenge2,loesungsmenge1,loes ungsmenge2);
}
return 0;
}
schon mal danke im vorraus. :)