Deine Gerade/Ungerade Prüfung ist falsch rum. "Odd" bedeuted "Ungerade".
Es wurde zwar schon angedeutet, aber was dein Lehrer wahrscheinlich statt der Funktion Odd() haben wollte ist wahrscheinlich was anderes.
Eine Zahl ist gerade wenn sie ohne Rest durch 2 teilbar ist. In Delphi gibt es den "mod" Operator mit dem du den Rest einer Division erhältst.
D.h. eine andere Art zu prüfen wäre:
Delphi-Quellcode:
if (zahl mod 2) = 0 then // Falls der Rest der Division von der Zahl geteilt durch zwei 0 ist, ist die Zahl gerade
ShowMessage('Zahl ist gerade')
else
ShowMessage('Zahl ist ungerade');
Oops, danke für den Hinweis. Wollte natürlich nix falsches Erzählen und hab es geändert. Ist passiert, da ich die Prüfung vorher andersrum hatte^^
Dein Ansatz war ursprünglich auch meiner, wobei ich denke das die Funktion Odd() ähnlich vorgeht. Aber beides sind Wege das richtige Ergebnis zu erhalten. "Viele Wege führen nach Rom"