Wie kann ich mit einem Restbetrag weiter rechnen??

Für Fragen von Einsteigern und Programmieranfängern...
Antworten
Ande.123
Beiträge: 2
Registriert: Di 23. Nov 2010, 16:25

Wie kann ich mit einem Restbetrag weiter rechnen??

Beitrag von Ande.123 »

Hallo, bin neu hier und hab vor kurzen angefangen mit Lazarus zu Programmieren!

Ich wolt ein kleines programm schreiben so in der art Bankautomat das wenn ich ein Betrag eingebe das,
dass programm mir dann ausgibt wie viele und welche geldscheine ích bekomme!
Ich hab mir überlegt das mit if-Anweisungen zu lösen aber ich weiß nicht wie ich mit einem Restbetrag
weiter rechnen kann!

Hoffe Ihr könnt mir da helfen!

Gruß Andreas

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Wie kann ich mit einem Restbetrag weiter rechnen??

Beitrag von MAC »

welchen restbetrag ?
Den mathematischen restbetrag ,also 7 durch 3 = 2 Rest 1 bekommst du durch "mod"
also

Code: Alles auswählen

x := 7 mod 3;
dann ist x = 1;


oder willst du das so machen:

Code: Alles auswählen

geld := 1312;
while geld > 500 do
   begin
   schein500 := schein500 + 1;
   geld := geld - 500;
   end;
while geld > 200 do
   begin
   schein200 := schein200 + 1;
   geld := geld - 200;
   end;
while geld > 100 do
   begin
   schein100 := schein100 + 1;
   geld := geld - 100;
   end;
...
geld ist also das verfügbare geld,
wenn schein500 = 3 ist hast du z.B. 3 500er Scheine


wenn ich dein Problem nicht getroffen habe, das beschreib das mal bitte genauer, danke.

Code: Alles auswählen

Signatur := nil;

Ande.123
Beiträge: 2
Registriert: Di 23. Nov 2010, 16:25

Re: Wie kann ich mit einem Restbetrag weiter rechnen??

Beitrag von Ande.123 »

Ja genau das suche ich aber bei einem betrag der nicht durch 5 teilbar ist soll er einen fehler anzeigen!
welchen befehl kann ich am besten benutzen?
und vielen dank für deine schnelle antwort!

Gruß Andreas

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Wie kann ich mit einem Restbetrag weiter rechnen??

Beitrag von MAC »

if deinezahl mod 5 <> 0 them MessageDLg('Gib ne zahl an die duch 5 teilbar ist',mtError,[mbOK],0);

also wenn die zahl durch 5 nen rest hat --> nicht durch 5 teilbar dann kommt ne message 'gib ne zahl..' mit nem error bild und nen ok button.
Wofür die 0 ist hab ich gerade keine ahnung.
mit strg + klick auf mbOk kommst du in ne andere unit und da siehst du was du auch noch auswählen könntest, z.B. mbYes ,...

bitte

edit: ich hatte die antwort schon vor 9 min geschrieben, musste dann aber pc wechseln xD

Code: Alles auswählen

Signatur := nil;

Teekeks
Beiträge: 359
Registriert: Mi 27. Mai 2009, 20:54
OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
CPU-Target: x86
Wohnort: Cottbus

Re: Wie kann ich mit einem Restbetrag weiter rechnen??

Beitrag von Teekeks »

Die 0 ist glaube ich der Button der vorbelegt ist (also der 0.=1. Knopf).

shokwave
Beiträge: 475
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Re: Wie kann ich mit einem Restbetrag weiter rechnen??

Beitrag von shokwave »

IIRC, ist der letzt Parameter der "HelpContext". Für den Fall, dass man eine Hilfedatei hat und einen Hilfe-Button anzeigt, sagt dieser Parameter zu welcher Seite der Hilfedatei er springen soll.

Der Defaultbutton wurde, zumindest unter Delphi 7, über die Reihenfolge, in der die Buttons angegeben werden, festgelegt. Bin mir aber auch nicht mehr ganz sicher.
mfg Ingo

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Wie kann ich mit einem Restbetrag weiter rechnen??

Beitrag von MAC »

ist das nicht über set of geregelt und dementsprechend gibt es keine reihenfolge ?
also ob mbYes,mbNo oder mbNo,mbYes macht keinen unterschied,
ob die 0 jetzt 0 , 1 oder mrno ist macht auch keinen unterschied
--> wahrscheilich hilfedatei..
--> aber sowieso egal :)

Code: Alles auswählen

Signatur := nil;

shokwave
Beiträge: 475
Registriert: Do 15. Nov 2007, 16:58
OS, Lazarus, FPC: Win11/Ubuntu Budgie (L 3.0 FPC 3.2.2)
CPU-Target: i386, x64
Wohnort: Gera

Re: Wie kann ich mit einem Restbetrag weiter rechnen??

Beitrag von shokwave »

@Mac hast Recht. Es gibt eine Variante von MessageDlg in der man den Defaultbutton festlegen kann.

Aus der Lazarushilfe:
There are four versions of this function. ...
The third version allows for a Default button;

Code: Alles auswählen

function MessageDlg(
  const aCaption: String;
  const aMsg: String;
  DlgType: TMsgDlgType;
  Buttons: TMsgDlgButtons;
  HelpCtx: LongInt;
  DefaultButton: TMsgDlgBtn
):Integer;
mfg Ingo

MAC
Beiträge: 770
Registriert: Sa 21. Feb 2009, 13:46
OS, Lazarus, FPC: Windows 7 (L 1.3 Built 43666 FPC 2.6.2)
CPU-Target: 32Bit

Re: Wie kann ich mit einem Restbetrag weiter rechnen??

Beitrag von MAC »

ahh, gut zu wissen. Thx

Code: Alles auswählen

Signatur := nil;

Antworten