AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Bruchrechenprogramm mit Selbsteingabe

Ein Thema von timmy19 · begonnen am 22. Dez 2011 · letzter Beitrag vom 6. Mär 2012
Antwort Antwort
Seite 4 von 4   « Erste     234   
timmy19

Registriert seit: 18. Nov 2011
28 Beiträge
 
#31

AW: Bruchrechenprogramm mit Selbsteingabe

  Alt 22. Dez 2011, 17:39
Woher soll ich das wissen, ich weiß doch nicht, was Du geschrieben hast?
Hoffe ich habe es richtig gemacht, habs so geschrieben:

Delphi-Quellcode:
   if IntToStr(Ergebnis) = EditZahl5.Text then
  begin
    if InttoStr(gggT) = EditZahl6.Text then
  Showmessage('Sehr gut gemacht, weiter so!!!')
    else
    showmessage('Das war nicht richtig, versuch es noch einmal!') ;
  end
else
showmessage('Fast richtig, probier es noch einmal!') ;
  begin
    if InttoStr(gggT) = EditZahl6.Text then
     showmessage('Der Nenner ist richtig, nur der Zähler ist falsch!')
    else
     showmessage ('Das war nicht richtig, versuch es noch einmal!') ;
  end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#32

AW: Bruchrechenprogramm mit Selbsteingabe

  Alt 22. Dez 2011, 17:43
Nee, nicht ganz. Nochmal:
Delphi-Quellcode:
if Bedingung1 then
  begin
    if Bedingung2 then
      //beides richtig
    else
      //nur Bedingung1 richtig, Bedingung2 falsch
  end
else
  begin
    if Bedingung2 then
      //Bedingung1 falsch, Bedingung2 richtig
    else
      //komplett falsch
  end;
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
timmy19

Registriert seit: 18. Nov 2011
28 Beiträge
 
#33

AW: Bruchrechenprogramm mit Selbsteingabe

  Alt 22. Dez 2011, 17:50
Zumindest gibt er mir jetzt nur eine showmessage aus. Aber die "komplett richtig" showmessage will er mir immer noch nicht ausgeben.

Delphi-Quellcode:
  if IntToStr(Ergebnis) = EditZahl5.Text then
  begin
    if InttoStr(gggT) = EditZahl6.Text then
    showmessage('Sehr gut gemacht!')
    else
     showmessage('Das ist nicht ganz richtig, versuch es noch einmal')
  end
else
  begin
    if InttoStr(gggT) = EditZahl6.Text then
    showmessage('Das ist nicht ganz ricthig, versuch es noch einmal')
    else
    showmessage('Das ist leider falsch, versuch es doch noch einmal')
  end;

end;
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.541 Beiträge
 
Delphi 11 Alexandria
 
#34

AW: Bruchrechenprogramm mit Selbsteingabe

  Alt 22. Dez 2011, 17:52
Dann musst Du einmal die Werte im Debugger vergleichen, logisch ist das zumindest korrekt so.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
timmy19

Registriert seit: 18. Nov 2011
28 Beiträge
 
#35

AW: Bruchrechenprogramm mit Selbsteingabe

  Alt 16. Jan 2012, 17:34
Jetzt komm ich nochmal mit dem Programm.
Möchte das Programm erweitern mit Subtraktion und Muliplikation.
Habe das MainMenu auch schon erstellt. Aber wie mach ich es jetzt, das dich die Vorzeichen ändern und man dann das jeweilige rechnen kann, wenn ich auf den Teil im MainMenu drücke.

Habe es bisher so:

Delphi-Quellcode:
procedure TForm1.Addition1Click(Sender: TObject);
begin
Label5.Enabled:= true ;
Label6.Enabled:= false;
Label7.Enabled:= false;

  procedure TForm1.Button1Click(Sender: TObject);
begin



randomize;

Zahl1:= random(9)+1 ;
Zahl2:= random(9)+1 ;
Zahl3:=random(4) +2 ;
Zahl4:=random(4) +2 ;

EditZahl1.Text:= IntToStr(Zahl1) ;
EditZahl2.Text:= IntToStr(Zahl2) ;
EditZahl3.Text:= IntToStr(Zahl3) ;
EditZahl4.Text:= IntToStr(Zahl4) ;

end;

procedure TForm1.Button2Click(Sender: TObject);
var Ergebnis, gggT:integer ;
begin

  Ergebnis:= Zahl1 + Zahl2 ;

  ggT(Zahl1, Zahl2, gggT) ;

  if IntToStr(Ergebnis) = EditZahl5.Text then
  begin
    if InttoStr(gggT) = EditZahl6.Text then
    showmessage('Sehr gut gemacht!')
    else
     showmessage('Das ist nicht ganz richtig, versuch es noch einmal!')
  end
else
  begin
    if InttoStr(gggT) = EditZahl6.Text then
    showmessage('Das ist nicht ganz richtig, versuch es noch einmal!')
    else
    showmessage('Das ist leider falsch, versuch es doch noch einmal!')
  end;

end;

procedure TForm1.Subtraktion1Click(Sender: TObject);
begin
 Label5.Enabled:= false;
Label6.Enabled:= True ;
Label7.Enabled:= false;

 procedure TForm1.Button1Click(Sender: TObject);
begin

randomize;

Zahl1:= random(9)+1 ;
Zahl2:= random(9)+1 ;
Zahl3:=random(4) +2 ;
Zahl4:=random(4) +2 ;

EditZahl1.Text:= IntToStr(Zahl1) ;
EditZahl2.Text:= IntToStr(Zahl2) ;
EditZahl3.Text:= IntToStr(Zahl3) ;
EditZahl4.Text:= IntToStr(Zahl4) ;

end;

procedure TForm1.Button2Click(Sender: TObject);
var Ergebnis, gggT:integer ;
begin

  Ergebnis:= Zahl1 + Zahl2 ;

  ggT(Zahl1, Zahl2, gggT) ;

  if IntToStr(Ergebnis) = EditZahl5.Text then
  begin
    if InttoStr(gggT) = EditZahl6.Text then
    showmessage('Sehr gut gemacht!')
    else
     showmessage('Das ist nicht ganz richtig, versuch es noch einmal!')
  end
else
  begin
    if InttoStr(gggT) = EditZahl6.Text then
    showmessage('Das ist nicht ganz richtig, versuch es noch einmal!')
    else
    showmessage('Das ist leider falsch, versuch es doch noch einmal!')
  end;

procedure TForm1.ggT(c,d:integer; var ggTeiler: integer);
var merk: integer;
begin
repeat

merk:= c mod d ;
c:= d ;
d:=merk

until d= 0 ;
ggTeiler:=c


end; {of ggT}
end;


end.
Ist wahrscheinlich viel zu aufwendig gemacht, vllt. könnt ihr mir ja weiterhelfen...
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.142 Beiträge
 
Delphi 12 Athens
 
#36

AW: Bruchrechenprogramm mit Selbsteingabe

  Alt 16. Jan 2012, 18:51
Delphi-Referenz durchsuchenRandomize
Zitat von OH: Randomize:
Kombinieren Sie in einer Schleife nicht den Aufruf von Randomize mit Aufrufen der Funktion Random. Normalerweise wird Randomize vor den Aufrufen von Random nur einmal aufgerufen.
Also nur einmal bei Programmstart aufrufen und nicht bei jedem Buttonklick erneut.

Zitat:
{of ggT}
Mit einer halbwegs ordentlichen Codeformatierung und einem übersichtlichen Codeaufbau ist sowas vollkommen unnötig.

Insgesammt ist vorallem die Codeeinrückung grauenhaft.
Es würde dann sogar auffallen, daß da so Einiges nicht stimmt. (z.B. mehrere fehlende ENDs)

Laut deiner Beschreibung klingt es so, als wenn das Ganze erstmal funktioniert, bzw sich winigstens kompilieren ließe.
Von einer Fehlerbeschreibung ist nichts zu finden oder zu erahnen.
(aber auf den ersten Blick müßte da sofort der Compiler aufgeben)

Vorallem daß einige Dinge doppelt vorhanden sind (z.B. die komplette Button1-Klickmethode), das kann nicht ganz richtig sein.

Zitat:
if InttoStr(gggT) = EditZahl6.Text then
Besser andersrum if gggT = StrToInt(EditZahl6.Text) then , denn du willst ja eigentlich den Wert der Zahl vergleichen und nicht die Darstellung der Zahl.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.123 Beiträge
 
Delphi 11 Alexandria
 
#37

AW: Bruchrechenprogramm mit Selbsteingabe

  Alt 6. Mär 2012, 19:03
der link geht vermutlich über die Anfrage hinaus , trotzdem ..... http://www.delphi-treff.de/tutorials...e-am-beispiel/
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 4 von 4   « Erste     234   


Forumregeln

Es 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

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:38 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz