|
Registriert seit: 29. Mai 2006 3 Beiträge |
#1
Hallo!
Also, erstmal zur Erklärung...ich bin Schülerin an einem Gymnasium und habe nun im 2ten HJ Informatik. Wir sollen als Hausaufgabe ein Programm zur Übung von Bruchrechenarten schreiben,was ja ansich kein Problem darstellen sollte. ABER jetzt wo mein Programm soweit fertig ist tritt ein komisches Phänomen in Aktion : 1.Bei Betätigung des BtLeicht und darauf hin der Betätigung des BtPlus erscheint die Aufgabe wie gewünscht...Jedoch rechnet der Computer anstatt Bruch1 + Bruch2 Bruch1 - Bruch2 ....Wo habe ich mich hier verprogrammiert ? 2.Bei Betätigung des BtLeicht und darauf hin der Betätigung des BtMinus erscheint die Aufgabe wie gewünscht...Jedoch erkennt der PC nicht, dass die Nenner der Brüche gleich sind und subtrahiert diese als ob die Nenner verschieden wären... BtMal,BtDurch auf Leicht sowie alle Bt's auf Mittel & Schwer scheinen einwandfrei zu funktionieren... Kann mir vielleicht einer von euch Assen weiterhelfen??? Ich verzweifele nun schon seit ca. 10 Stunden an diesem kleinen Fehler !!!! ![]() THX im Vorraus! MFG Ypsilon
Code:
unit mB;
interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ExtCtrls, jpeg; type TForm1 = class(TForm) PUeberschrift: TPanel; GroupBox1: TGroupBox; BtPlus: TButton; BtMinus: TButton; BtMal: TButton; BtDurch: TButton; GroupBox2: TGroupBox; BtLeicht: TButton; BtMittel: TButton; BtSchwer: TButton; PZahlA: TPanel; PRZ: TPanel; PZahlB: TPanel; PGleich: TPanel; PErgebnis: TPanel; LZaehler1: TLabel; LNenner1: TLabel; LZaehler2: TLabel; LNenner2: TLabel; LZaehlerE: TLabel; LNennerE: TLabel; GroupBox3: TGroupBox; EdZaehlerE: TEdit; LBruchstrich: TLabel; EdNennerE: TEdit; GroupBox4: TGroupBox; BtErgebnis: TButton; ImVerloren: TImage; ImGewonnen: TImage; LRichtig: TLabel; LFalsch: TLabel; LVersuche: TLabel; EdRichtig: TEdit; EdFalsch: TEdit; EdVersuche: TEdit; ImStern1: TImage; ImStern2: TImage; ImStern3: TImage; ImStern4: TImage; BtLoesung: TButton; PGewonnen: TPanel; procedure FormCreate(Sender: TObject); procedure RechenzeichenClick(Sender: TObject); procedure BtLeichtClick(Sender: TObject); procedure BtErgebnisClick(Sender: TObject); procedure BtMittelClick(Sender: TObject); procedure BtSchwerClick(Sender: TObject); procedure EdNennerEChange(Sender: TObject); procedure EdZaehlerEChange(Sender: TObject); procedure BtLoesungClick(Sender: TObject); procedure EdRichtigChange(Sender: TObject); procedure EdRichtigClick(Sender: TObject); procedure EdFalschClick(Sender: TObject); procedure EdVersucheClick(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; Zaehler1,Zaehler2,ZaehlerE,Nenner1,Nenner2,NennerE,NennerEE,ZaehlerEE,Versuch,Richtig,Falsch : integer; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin Randomize; ImGewonnen.visible := false; ImVerloren.visible := false; end; procedure TForm1.BtLeichtClick(Sender: TObject); begin Zaehler1 := random (11)+1; Zaehler2 := random (11)+1; Nenner1 := random (11)+1; Nenner2 := Nenner1 ; LNennerE.Visible := false; LZaehlerE.Visible := false; repeat Zaehler2 := random(11) until Zaehler2 < Zaehler1; LZaehler2.Caption := IntToStr (Zaehler2); LZaehler1.Caption := IntToStr (Zaehler1); LNenner1.Caption := IntToStr (Nenner1); LNenner2.Caption := IntToStr (Nenner1); end; procedure TForm1.RechenzeichenClick(Sender: TObject); begin if Sender = BtPlus then begin PRZ.Caption := '+'; if Nenner1 <> Nenner2 then begin NennerE := Nenner1*Nenner2; ZaehlerE := (Zaehler1*Nenner2)+(Zaehler2*Nenner1); end else if Nenner1 = Nenner2 then begin NennerE := Nenner1; ZaehlerE := Zaehler1+Zaehler2; end; end; if Sender = BtMinus then begin PRZ.Caption := '-'; if Nenner1 <> Nenner2 then PRZ.Caption := '-'; NennerE := Nenner1*Nenner2; ZaehlerE := (Zaehler1*Nenner2)-(Zaehler2*Nenner1); end else if Nenner1 = Nenner2 then begin NennerE := Nenner1; ZaehlerE := Zaehler1-Zaehler2; end; if Sender = BtMal then begin PRZ.Caption := 'x'; NennerE := Nenner1*Nenner2; ZaehlerE := Zaehler1*Zaehler2; end; if Sender = BtDurch then begin PRZ.Caption := ':'; NennerE := Nenner1*Zaehler2; ZaehlerE := Nenner2*Zaehler1; end; LZaehlerE.Caption := IntToStr (ZaehlerE); LNennerE.Caption := IntToStr (NennerE); end; procedure TForm1.BtErgebnisClick(Sender: TObject); begin Versuch := StrToInt (EdVersuche.Text); NennerEE := StrToInt (EdNennerE.Text); ZaehlerEE := StrToInt (EdZaehlerE.Text); EdVersuche.Text := IntToStr (Versuch +1) ; if ZaehlerEE = ZaehlerE then begin Richtig := StrToInt (EdRichtig.Text); MessageDlg ('Richtig!',mtInformation,[mbOK],0); LNennerE.Visible := true; LZaehlerE.Visible := true; ImGewonnen.Visible := true; EdRichtig.Text := IntToStr (Richtig+1) end else if ZaehlerEE <> ZaehlerE then begin Falsch := StrToInt (EdFalsch.Text); MessageDlg ('Falsch! Versuchen Sie es erneut!',mtWarning,[mbRetry],0); ImVerloren.Visible := true; EdFalsch.Text := IntToStr (Falsch+1); end end; procedure TForm1.BtMittelClick(Sender: TObject); begin Zaehler1 := random (21)+1; Zaehler2 := random (21)+1; Nenner1 := random (21)+1; Nenner2 := random (21)+1; LNennerE.Visible := false; LZaehlerE.Visible := false; repeat Zaehler2 := random(21) until Zaehler2 < Zaehler1; LZaehler2.Caption := IntToStr (Zaehler2); LZaehler1.Caption := IntToStr (Zaehler1); LNenner1.Caption := IntToStr (Nenner1); LNenner2.Caption := IntToStr (Nenner2); end; procedure TForm1.BtSchwerClick(Sender: TObject); begin Zaehler1 := random (101)+1; Zaehler2 := random (101)+1; Nenner1 := random (101)+1; Nenner2 := random (101)+1; LNennerE.Visible := false; LZaehlerE.Visible := false; repeat Nenner2 := random(101)+1 until Nenner2 <> Nenner1; repeat Zaehler2 := random(101) until Zaehler2 < Zaehler1; LZaehler2.Caption := IntToStr (Zaehler2); LZaehler1.Caption := IntToStr (Zaehler1); LNenner1.Caption := IntToStr (Nenner1); LNenner2.Caption := IntToStr (Nenner2); LNennerE.Caption := IntToStr (NennerE); LZaehlerE.Caption := IntToStr (ZaehlerE); end; procedure TForm1.EdNennerEChange(Sender: TObject); begin ImGewonnen.Visible := false; ImVerloren.Visible := false; end; procedure TForm1.EdZaehlerEChange(Sender: TObject); begin ImGewonnen.Visible := false; ImVerloren.Visible := false; end; procedure TForm1.BtLoesungClick(Sender: TObject); begin LNennerE.Visible := True; LZaehlerE.Visible := True; Falsch := StrToInt (EdFalsch.Text); EdFalsch.Text := IntToStr (Falsch+1); Versuch := StrToInt (EdVersuche.Text); EdVersuche.Text := IntToStr (Versuch +1) ; end; procedure TForm1.EdRichtigChange(Sender: TObject); begin if EdRichtig.Text = '10' then begin ImStern1.Visible := True; ImStern2.Visible := False; ImStern3.Visible := False; ImStern4.Visible := False; end else if EdRichtig.Text = '20' then begin ImStern1.Visible := True; ImStern2.Visible := True; ImStern3.Visible := False; ImStern4.Visible := False; end else if EdRichtig.Text = '30' then begin ImStern1.Visible := True; ImStern2.Visible := True; ImStern3.Visible := True; ImStern4.Visible := False; end else if EdRichtig.Text = '40' then begin ImStern1.Visible := True; ImStern2.Visible := True; ImStern3.Visible := True; ImStern4.Visible := True; end else if EdRichtig.Text = '50' then begin ImStern1.Visible := False; ImStern2.Visible := False; ImStern3.Visible := False; ImStern4.Visible := False; PGewonnen.Visible := True; end end; procedure TForm1.EdRichtigClick(Sender: TObject); begin MessageDlg ('Cheaten?! Na, na, na...so aber nicht!!!Der Vesuch gibt leider 5 Punkte Abzug!',mtWarning,[mbOK],0); Richtig := StrToInt (EdRichtig.Text); EdRichtig.Text := IntToStr (Richtig-5); end; procedure TForm1.EdFalschClick(Sender: TObject); begin MessageDlg ('Cheaten?! Na, na, na...so aber nicht!!!Der Vesuch gibt leider 5 Punkte obendrauf!',mtWarning,[mbOK],0); Falsch := StrToInt (EdFalsch.Text); EdFalsch.Text := IntToStr (Falsch+5); end; procedure TForm1.EdVersucheClick(Sender: TObject); begin MessageDlg ('Cheaten?! Na, na, na...so aber nicht!!!Der Vesuch gibt leider 5 Punkte obendrauf!',mtWarning,[mbOK],0); Versuch := StrToInt (EdVersuche.Text); EdVersuche.Text := IntToStr (Versuch+5); end; end. |
![]() |
Ansicht |
![]() |
![]() |
![]() |
ForumregelnEs ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.
BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus. Trackbacks are an
Pingbacks are an
Refbacks are aus
|
|
Nützliche Links |
Heutige Beiträge |
Sitemap |
Suchen |
Code-Library |
Wer ist online |
Alle Foren als gelesen markieren |
Gehe zu... |
LinkBack |
![]() |
![]() |