000
13.01.2004, 13:10 Uhr
Puschel
Dr. med. Dipl. Prof. Virus
|
Moin, moin!
Ich habe folgendes Problem: Mein Simulation will nicht so wie ich will. Immer wenn ich au den Start Button drücke bekomme ich folgende Fehlermeldung:
Code: |
Fehlermeldung: Im Projekt1.exe ist eine Exception der Klasse EInvalidOp aufgetreten. Meldung "ungültige Gleitkomma Operation". ....
|
Mein Quelltext sieht so aus:
C++: |
//--------------------------------------------------------------------------- #include <vcl.h> #include <conio.h> #include <iostream.h> #pragma hdrstop
#include "Unit1.h" //--------------------------------------------------------------------------- #pragma package(smart_init) #pragma resource "*.dfm" TForm1 *Form1; bool bAbbruch, bSTOP, bENDE; //als globale Variablen vereinbaren //--------------------------------------------------------------------------- __fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner) { } //--------------------------------------------------------------------------- void __fastcall TForm1::FormCreate(TObject *Sender) { wassermenge->Caption="0"; duengermenge->Caption="0"; tag->Caption="0"; hoehe_pflanze->Caption="0"; } //--------------------------------------------------------------------------- void __fastcall TForm1::startClick(TObject *Sender) { double ergebnis,Hoehe,speicher_h,speicher_d,speicher_w; double wasser,duenger; int Pause; switch(Wasser->Text.ToInt()) { case 1: ergebnis=ergebnis+1;break; case 2: ergebnis=ergebnis+2;break; case 3: ergebnis=ergebnis+3;break; case 4: ergebnis=ergebnis+4;break; case 5: ergebnis=ergebnis+5;break; case 6: ergebnis=ergebnis+6;break; case 7: ergebnis=ergebnis+7;break; case 8: ergebnis=ergebnis+8;break; case 9: ergebnis=ergebnis+9;break; case 10: ergebnis=ergebnis+10;break; }; switch(Licht->Text.ToInt()) { case 1: ergebnis=ergebnis+1;break; case 2: ergebnis=ergebnis+2;break; case 3: ergebnis=ergebnis+3;break; case 4: ergebnis=ergebnis+4;break; case 5: ergebnis=ergebnis+5;break; case 6: ergebnis=ergebnis+6;break; case 7: ergebnis=ergebnis+7;break; case 8: ergebnis=ergebnis+8;break; case 9: ergebnis=ergebnis+9;break; case 10: ergebnis=ergebnis+10;break; }; switch(Duenger->Text.ToInt()) { case 1: ergebnis=ergebnis+1;break; case 2: ergebnis=ergebnis+2;break; case 3: ergebnis=ergebnis+3;break; case 4: ergebnis=ergebnis+4;break; case 5: ergebnis=ergebnis+5;break; case 6: ergebnis=ergebnis+6;break; case 7: ergebnis=ergebnis+7;break; case 8: ergebnis=ergebnis+8;break; case 9: ergebnis=ergebnis+9;break; case 10: ergebnis=ergebnis+10;break; }; switch(Regen->Text.ToInt()) { case 1: ergebnis=ergebnis+1;break; case 2: ergebnis=ergebnis+2;break; case 3: ergebnis=ergebnis+3;break; case 4: ergebnis=ergebnis+4;break; case 5: ergebnis=ergebnis+5;break; case 6: ergebnis=ergebnis+6;break; case 7: ergebnis=ergebnis+7;break; case 8: ergebnis=ergebnis+8;break; case 9: ergebnis=ergebnis+9;break; case 10: ergebnis=ergebnis+10;break; }; switch(Temp->Text.ToInt()) { case 5: ergebnis=ergebnis+1;break; case 6: ergebnis=ergebnis+2;break; case 7: ergebnis=ergebnis+3;break; case 8: ergebnis=ergebnis+4;break; case 9: ergebnis=ergebnis+5;break; case 10: ergebnis=ergebnis+6;break; case 11: ergebnis=ergebnis+7;break; case 12: ergebnis=ergebnis+8;break; case 13: ergebnis=ergebnis+9;break; case 14: ergebnis=ergebnis+10;break; case 15: ergebnis=ergebnis+11;break; case 16: ergebnis=ergebnis+12;break; case 17: ergebnis=ergebnis+13;break; case 18: ergebnis=ergebnis+14;break; case 19: ergebnis=ergebnis+15;break; case 20: ergebnis=ergebnis+15;break; case 21: ergebnis=ergebnis-1;break; case 22: ergebnis=ergebnis-2;break; case 23: ergebnis=ergebnis-3;break; case 24: ergebnis=ergebnis-4;break; case 25: ergebnis=ergebnis-5;break; case 26: ergebnis=ergebnis-6;break; case 27: ergebnis=ergebnis-7;break; case 28: ergebnis=ergebnis-8;break; case 29: ergebnis=ergebnis-9;break; case 30: ergebnis=ergebnis-10;break; case 31: ergebnis=ergebnis-11;break; case 32: ergebnis=ergebnis-12;break; case 33: ergebnis=ergebnis-13;break; case 34: ergebnis=ergebnis-14;break; case 35: ergebnis=ergebnis-15;break; }; if(ergebnis<=55 && ergebnis>=46)[b]!!![/b]//hier steht der Cursor wenn Fehlermeldung ausgelöst { Hoehe=1; } else { if(ergebnis<=45 && ergebnis>=36) { Hoehe=5; } else { if(ergebnis<=35 && ergebnis>=26) { Hoehe=4; } else { if(ergebnis<=25 && ergebnis>=16) { Hoehe=3; } else { if(ergebnis<=15 && ergebnis>=5) { Hoehe=2; } } } } } switch(Wasser->Text.ToInt()) { case 1 : wasser=0.05;break; case 2 : wasser=0.10;break; case 3 : wasser=0.15;break; case 4 : wasser=0.20;break; case 5 : wasser=0.25;break; case 6 : wasser=0.30;break; case 7 : wasser=0.35;break; case 8 : wasser=0.40;break; case 9 : wasser=0.45;break; case 10: wasser=0.50;break; }; switch(Duenger->Text.ToInt()) { case 1 : duenger= 1;break; case 2 : duenger= 2;break; case 3 : duenger= 3;break; case 4 : duenger= 4;break; case 5 : duenger= 5;break; case 6 : duenger= 6;break; case 7 : duenger= 7;break; case 8 : duenger= 8;break; case 9 : duenger= 9;break; case 10 : duenger=10;break; }; speicher_d=duenger; duenger=0; speicher_h=Hoehe; Hoehe=0; speicher_w=wasser; Wasser=0; bAbbruch=false; bENDE=false; int i=0; while(!bENDE) { while((i<=Tage->Text) && (!bAbbruch)) { tag->Update(); tag->Caption=i; hoehe_pflanze->Update(); Hoehe=Hoehe+speicher_h; hoehe_pflanze->Caption=FloatToStrF(Hoehe,ffGeneral,6,2); duengermenge->Update(); duenger=duenger+speicher_d; duengermenge->Caption=duenger; wassermenge->Update(); wasser=wasser+speicher_w; wassermenge->Caption=wasser; Application->ProcessMessages(); Sleep(1000); i++; } Application->ProcessMessages(); } ShowMessage("ENDE"); } //--------------------------------------------------------------------------- void __fastcall TForm1::pauseClick(TObject *Sender) { bAbbruch=true; } //--------------------------------------------------------------------------- void __fastcall TForm1::weiterClick(TObject *Sender) { bAbbruch=false; } //--------------------------------------------------------------------------- void __fastcall TForm1::endeClick(TObject *Sender) { bENDE=true; } //---------------------------------------------------------------------------
|
Danke wenn sich jemand den Quelltext ansieht und mir sagen könnte wo der Fehler steckt.
Programm: BCB6 -- Wenn man nichts tut, glaubt man, daß man für alles die Verantwortung trägt. |