Menu schließen

fehler im quelltext

Frage: fehler im quelltext
(11 Antworten)

 
hey ihr informatikexperten, könnt ihr mir mal bitte helfen? delphi gibt bei folgendem quelltext zwar aufgaben mit verschiedenen rechenzeichen aus aber bei
der Kontrolle(button prüfen) rechnet er immer division.
wär echt super wenn ihr mir helfen könntet.


also hier der quelltext:
GAST stellte diese Frage am 21.01.2006 - 16:09

 
Antwort von GAST | 21.01.2006 - 16:09
procedure TForm8.Button_AufgabeStellenClick(Sender: TObject);

begin
randomize;
REPEAT
Zahl1:= random (100)+1;
Zahl2:= random (100)+1;
n:= random (4);
if n=0 then begin
rechenzeichen:=`+`;
result:= Zahl1+Zahl2; end;
if n=1 then begin
rechenzeichen:=`-`;
result:= Zahl1-Zahl2; end;
if n=2 then begin
rechenzeichen:=`*`;
result:= Zahl1*Zahl2; end;
if n=3 then begin
rechenzeichen:=`/`;
result:= Zahl1/Zahl2; end;

Until ((Zahl1 MOD Zahl2 =0) AND (Zahl1 >Zahl2));
Label_AufgabeAusgeben.Caption:=IntToStr(Zahl1)+` `+rechenzeichen+ ` `+IntToStr (Zahl2) ;
end;

 
Antwort von GAST | 21.01.2006 - 16:10
procedure TForm8.Button_ErgebnisPruefenClick(Sender: TObject);
begin
ergebnis:=StrToInt(Edit_ErgebnisEingeben.text);
if (ergebnis=result) then
Label_AusgabeRichtigFalsch.caption:=`richtig`
else Label_AusgabeRichtigFalsch.caption:= `falsch`;
begin
if Label_AusgabeRichtigFalsch.caption = `falsch` then;
begin if
n=0 then
Label_AusgabeRichtigesErgebnis.caption:=IntToStr(Zahl1+Zahl2) ;
end;
begin if
n=1 then;
Label_AusgabeRichtigesErgebnis.caption:=IntToStr(Zahl1-Zahl2) ;
end;
begin if
n=2 then;
Label_AusgabeRichtigesErgebnis.caption:=IntToStr(Zahl1*Zahl2) ;
end;
begin if
n=3 then;
Label_AusgabeRichtigesErgebnis.caption:=FloatToStr(Zahl1/Zahl2) ;
if Label_AusgabeRichtigFalsch.caption = `richtig` then
Label_AusgabeRichtigesErgebnis. caption:=`-`;
end;
end;
end;

 
Antwort von GAST | 21.01.2006 - 16:20
bitte helft mir, dass soll ein geburtstagsgeschenk werden, das programm, und ohne diese funktion klappt das nicht

 
Antwort von GAST | 21.01.2006 - 16:59
die letzte schleife (4 und 5 zeile von unten) ...da sagst du dem programm, wenn die bedingung erfüllt ist, dann nimm als operator "-" ....mit delphi kenn ich mich zwar nich soooo aus, aber mit schleifen und bedingungen etc etc ...auf jedenfall stimmt in den zeilen die bedingung nicht

mfg

 
Antwort von GAST | 21.01.2006 - 17:02
pardon ....ich meinte nicht "schleife" sondern "Verzweigung"

 
Antwort von GAST | 21.01.2006 - 17:07
die verzweigung 4 und 5 zeile von unten, ....da fehlt die bedingung für "FalschesErgebnis" ....d.h. du müsstest noch eine verzweigung einbaun, ans ende. ...denn so wird er immer "-" als operator nehmen

mfg

 
Antwort von GAST | 21.01.2006 - 17:17
@cyberdemon das mit dem "-" zeigt er ja nun an wenn das ergebnis richtig ist. aber wenn das ergebnis falsch ist dann gibt er bei "label_AusgabeRichtigesErgebnis" z.B. 11 für die aufgabe 44-4 aus

das hat ja mit dem "-" nichts zu tun, das zeigt er ja nun an wenn das ergebnis wirklich richtig war und das stimmt dann auch immer(also wenn man das richtige ergebnis eingibt gibt er auch nun dann das"-" aus sonst nicht)

 
Antwort von GAST | 21.01.2006 - 17:20
mhh mit delphi habe ich auch noch nicht wirklich gearbeitet... (ist das nicht dieses bunte? ;-) )

naja und ohne syntax highlighting und eben entsprechende kenntnisse schwer überschaubar...geh wirklich nochmal alles peinlichst genau durch^^
erst recht das was cyber kritisiert...und zur not strickst du es ein wenig um und schaust wie es dann klappt

 
Antwort von GAST | 21.01.2006 - 17:28
vorschlag....nimm ma c++

 
Antwort von GAST | 21.01.2006 - 17:32
aus icq

sv (05:30 PM) :
begin if << rofl
sv (05:30 PM) :
überall
Brett before my Head (05:30 PM) :
>.<
sv (05:31 PM) :
das heisst
if AUSDRUCK then
begin
TODO;
end;
Brett before my Head (05:31 PM) :
mhh*nix versteh*
sv (05:31 PM) :
der kunde is ja wohl der volldepp
sv (05:32 PM) :
1. weil er delphi coded
und 2. weil er delphi falsch coded
und 3. weil er delphi falsch coded und es dann noch in ein forum schreibt *rofl*
Brett before my Head (05:32 PM) :
is n weibchen
sv (05:32 PM) :
kennst du die?

 
Antwort von GAST | 21.01.2006 - 19:12
Ich nehme an, du hast die Variablen global definiert (damit Zahl1+2 im 2. Programm auch definiert ist.)

Bei deinem 2. Programm hast du erst "else Label...:=`falsch`;" und dann noch "if Label...:=`falsch`;" ,dass könntest du noch verbinden, weil das im Prinzip das selbe ist.

Ich bin mir nicht ganz sicher, aber darf man nach "then" ein Semikolon (";") schreiben?

Bei deinem letzten Schritt gibst du immer "-" aus.
Es müsste meiner Meihnung nach
"Label_AusgabeRichtigesErgebnis. caption:=rechenzeichen;"
lauten.

Ich hoffe ich konnte dir helfen ;)

Verstoß melden
Hast Du eine eigene Frage an unsere Informatik-Experten?

23 ähnliche Fragen im Forum: 0 passende Dokumente zum Thema:
> Du befindest dich hier: Support-Forum - Informatik
ÄHNLICHE FRAGEN: