000
25.04.2011, 22:18 Uhr
David238
|
hi euch allen und einen schönen ostermontag! ich habe folgendes problem: meine aufgabe ist es ein programm zu schreiben mit dem sich quadratische gleichungen der form ax^2+x+q lösen lassen. so sieht mein programm grade aus:
C++: |
#include <vcl.h> #pragma hdrstop #include <math.h> #include "quadratischegleichung16.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; float a,b,c; // Eingabevariablen float w, l1, l2, l; // Diskriminante und Lösungen
//--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::Button1Click(TObject *Sender) { Close(); //Programm beenden } //---------------------------------------------------------------------------
void __fastcall TForm1::Button2Click(TObject *Sender) { a= StrToInt(Edit1->Text); b= StrToInt(Edit2->Text); c= StrToInt(Edit3->Text); w= sqrt(((b/a*b/a)/4)-c/a); //Berechnung der Diskriminante
if (w==0) { l=-b/2*a; Edit4->Text=FormatFloat("0.00",l1); }
if (w<0) { Edit4->Text="Es gibt keine Lösung!"; }
if (w>0) { l1=-b/2*a+ w; //Lösung 1 Edit4->Text=FormatFloat("0.00",l1); l2=-b/2*a-w; //Lösung 2 Edit5->Text=FormatFloat("0.00",l2); }
}
|
bei der unterscheidung nach wurzel<0, wurzel>0 und wurzel=0 fangen meine probleme an. wenn ich meine variablen so eingebe das die wurzel positiv wird bekomme ich 2 richtige ergebnisse. für die beiden anderen fälle bekomme ich die fehlermeldung "ungültige gleitkommaoperation". über diese fehlermeldung habe ich schon viel im netz gelesen, bin daraus aber nicht wirklich schlau geworden. ich hoffe ihr könnt mich "erleuchten" ;-) lg david Dieser Post wurde am 27.04.2011 um 08:18 Uhr von FloSoft editiert. |