Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi münzrückgabe(HA) (https://www.delphipraxis.net/100122-muenzrueckgabe-ha.html)

Holzi1810 22. Sep 2007 16:37


münzrückgabe(HA)
 
einen schönen guten tag.
ich hab mal wieder eine schöne hausaufgabe in info aufbekommen und mir fehlt der komplette denk anstoß. ichw eiß nicht wie ich anfangen soll. :wall: :wall:

also die aufgabe ist folgende:
ich soll ein edit feld haben in den ein euro betrag eingegeben wird. nun soll ein knopf betätigt werden welcher mir dann die geldstücke und deren anzahl ezigt welche dafür nötig sind.
als beispiel

in edit schreib ich 1,90€ dann soll er in weitere editfelder schreiben
1x 1€
1x 0,50€
2x 0,20€

also immer so wenig münzen wie möglich!

wie stell ich das am dümsten an?!

danke shconmal für die hilfe!

SirThornberry 22. Sep 2007 16:41

Re: münzrückgabe(HA)
 
du musst schauen wie oft das größte Geldeinheit in den Betrag rein passt.

Hast du zum Beispiel 1,90
so passt 2 Euro 0 mal rein
übrig bleiben dan 1,90 Euro
1,90 Euro durch 1 Euro ergibt 1
Also 1 mal 1 Euro rest 90 Cent
90 Cent durch 50 Cent = 1 Rest 40 Cent
40 Cent durch 20 Cent = 2 Rest 0 Cent - jetzt braucht nicht weiter gesplittet werden.

Quelltextmäßig würde es so aussehen
Delphi-Quellcode:
money := 190;

two_euro_pieces = money div 200;
money := money - two_euro_pieces * 200;

one_euro_pieces = money div 100;
money := money - one_euro_pieces * 100;

Holzi1810 22. Sep 2007 16:50

Re: münzrückgabe(HA)
 
also machs ich am besten mit ner if!
also wenn money > 200 dann -200und so weiter!

Apollonius 22. Sep 2007 16:52

Re: münzrückgabe(HA)
 
Nein, denn es können ja auch mehrere Münzen von einer Sorte gebraucht werden. Sir Thornberry hat dir den Code doch schon gegeben, alternativ könntest du auch eine while-Schleife verwenden.

Holzi1810 22. Sep 2007 17:07

Re: münzrückgabe(HA)
 
und wie würde die shcleife dann grob aussehen?!

inherited 22. Sep 2007 17:20

Re: münzrückgabe(HA)
 
Schau dir doch einfach Jens Source mal an, du brauchst keine Schleife!

Holzi1810 22. Sep 2007 17:21

Re: münzrückgabe(HA)
 
bin grade dabei hoffe das es hin haut!!!

Holzi1810 22. Sep 2007 17:42

Re: münzrückgabe(HA)
 
so jetzt bekomm ichn fehler

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
geld:real;
twoeur,oneeur:integer;
begin
geld:=strtofloat(edit1.Text);
geld:=geld*100;


twoeur = geld div 200;
geld := geld - twoeur * 200;

oneeur = geld div 100;
geld := geld - oneeur * 100;

end;
fehlermeldung
Zitat:

[Error] Unit1.pas(49): Operator not applicable to this operand type
[Error] Unit1.pas(49): ':=' expected but '=' found

RobertP 22. Sep 2007 17:46

Re: münzrückgabe(HA)
 
Delphi-Quellcode:
twoeur := geld div 200;
geld := geld - twoeur * 200;

oneeur := geld div 100;
geld := geld - oneeur * 100;
Da haben zwei Doppelpunkte gefehlt...

SirThornberry 22. Sep 2007 17:46

Re: münzrückgabe(HA)
 
hast du dir mal die Fehlermeldung angeschaut? Da steht:
:= erwartet aber = gefunden.

Also du hast irgendwo (ist nicht schwer zu finden) = geschrieben obwohl du hättest := schreiben müssen.


du hast meins also nur abgeschrieben. Genau das solltest du aber nicht machen sondern du solltest es verstehen und entsprechend nutzen.

Holzi1810 22. Sep 2007 17:47

Re: münzrückgabe(HA)
 
joj is jut hab ich auch shcon gefunden geht trotzdem noch nciht

[Error] Unit1.pas(49): Operator not applicable to this operand type

wie teilt man denn in delphi das scheint ja der fehler zu sein!

Apollonius 22. Sep 2007 17:50

Re: münzrückgabe(HA)
 
Ich perönlich hatte noch nie Bruchteile eines Cents in der Tasche, so solltest du es auch in deinem Programm halten, wenn du solche Fehlermeldungen vermeiden willst.
Auf Fließkommazahlen kann kein div angewendet werden.

Holzi1810 22. Sep 2007 17:51

Re: münzrückgabe(HA)
 
Delphi-Quellcode:
geld:=round(geld);
ist bereits mit drinne!!

inherited 22. Sep 2007 18:04

Re: münzrückgabe(HA)
 
Das ändert nichts daran das geld vom typ real ist, und somit eine kommazahl!

Holzi1810 22. Sep 2007 18:05

Re: münzrückgabe(HA)
 
so jetzt gehts!!

kann man eigendlich irgendwie das ganze in ein label schicken weil die nehmen kein string an??!

inherited 22. Sep 2007 18:06

Re: münzrückgabe(HA)
 
doch, nehmen sie?

Holzi1810 22. Sep 2007 18:07

Re: münzrückgabe(HA)
 
un wie weil ich bekomm diese meldung
Zitat:

[Error] Unit1.pas(65): Incompatible types: 'TLabel' and 'String'

inherited 22. Sep 2007 18:17

Re: münzrückgabe(HA)
 
Weil du nicht deinem Label einen String zuweisen sollst, sondern der Caption des Labels...

Holzi1810 22. Sep 2007 18:19

Re: münzrückgabe(HA)
 
un das funktioniert wie???

Die Muhkuh 22. Sep 2007 18:20

Re: münzrückgabe(HA)
 
Delphi-Quellcode:
Label.Caption := 'DeinString';
ein bisschen mehr Eigeninitiative bitte...

inherited 22. Sep 2007 18:21

Re: münzrückgabe(HA)
 
www.dsdt.de und die Delphi-Grundlagen anschauen, ein paar Anfänger-Tutorials durchlesen und wirklich VERSTEHEN! was du tust und nicht einfach nur zusammenkopieren.
Dein Label hat mehrere Eigenschaften, die du auch im Objektinspektor siehst. Da setzt du ja auch "Caption" um das zu ändern was das Label anzeigen soll.
Auf diese Eigenschaften kannst du zur Laufzeit mithilfe von Objektname.Eigenschaftsname zugreifen und das dann setzen.
Edit: och Mukuh, jetzt hast dus verraten :stupid:

Holzi1810 22. Sep 2007 18:22

Re: münzrückgabe(HA)
 
sry wegen der dummen fragen aber ich sitze seit heute früh am rechner für hausaufgaben vorträge etc. hab vorhin shcon was grafisches gemacht un sitz jetzt shcon ewig an dem ding hier da ist das mit dem selber danken shcon recht schwer. da mein kopf so groß wien fußballfeld ist! :coder2:

un verstehen tu ich das auch!!

Die Muhkuh 22. Sep 2007 18:24

Re: münzrückgabe(HA)
 
Zitat:

Zitat von Holzi1810
un sitz jetzt shcon ewig an dem ding hier da ist das mit dem selber danken shcon recht schwer. da mein kopf so groß wien fußballfeld ist! :coder2:

Bringt aber nicht viel, wenn nichts drin ist :zwinker:

Holzi1810 22. Sep 2007 19:11

Re: münzrückgabe(HA)
 
Liste der Anhänge anzeigen (Anzahl: 1)
der war gemein!!

aber naja nochmal danke!
im anhand is das kleine prog is ganz cool geworden!


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz