Hallo,
für den Unterricht sollen wir ein vorgegebenes Programm beenden,
dies hab ich soweit auch getan und es funktioniert auch soweit.
Es gibt nur ein Problem: Wenn ich z.B. 2 Ticket angebe und mit 30 Euro bezahle,
wird anstatt 2x2 Cent, 1x2 Cent und 1x1 Cent angegeben.
Vielleicht noch eine Info, das Programm soll ausgeben,
wie viele 10, 5 €-Scheine, 2, 1 €-Stücke, 0,50, 0,20, 0,10, 0,5, 0,2 und 0,1 Centstücke man zurückbekommt.
Das ist mein Quellcode:
Alles anzeigen
Danke im Voraus.
für den Unterricht sollen wir ein vorgegebenes Programm beenden,
dies hab ich soweit auch getan und es funktioniert auch soweit.
Es gibt nur ein Problem: Wenn ich z.B. 2 Ticket angebe und mit 30 Euro bezahle,
wird anstatt 2x2 Cent, 1x2 Cent und 1x1 Cent angegeben.
Vielleicht noch eine Info, das Programm soll ausgeben,
wie viele 10, 5 €-Scheine, 2, 1 €-Stücke, 0,50, 0,20, 0,10, 0,5, 0,2 und 0,1 Centstücke man zurückbekommt.
Das ist mein Quellcode:
Quellcode
- // Höft & Wessel AG - TicketChange 0.0.3
- // Als Funktionstest soll ein Fahrkartenkauf von Soltau nach
- // Hannover Hbf gebucht werden.
- program TicketChange;
- uses crt;
- const priceSingle = 14.63;
- var number: integer;
- priceTotal, payment, change,
- num1, num2, num3, num4, num5,
- num6, num7, num8, num9, num10: real;
- begin
- clrScr;
- writeLn ('Fahrkarte Soltau - Hannover Hbf');
- writeLn ();
- write ('Bitte geben sie die Anzahl der Karten ein: ');
- readLn (number);
- priceTotal := number * priceSingle;
- writeLn ('Der Gesamtbetrag betraegt: ', priceTotal:4:2, ' EUR');
- writeLn ('Gebe Sie den EUR Betrag ein, den Sie einzahlen: ');
- readLn (payment);
- change := payment - priceTotal;
- writeLn ('Sie bekommen ', change:4:2, ' Euro zurueck');
- writeLn();
- writeLn ('Ausgabe des Wechselggelds');
- while(change >= 10) do
- begin
- num1 := num1 + 1;
- change := change - 10;
- end;
- while(change >= 5) do
- begin
- num2 := num2 + 1;
- change := change - 5;
- end;
- while(change >= 2) do
- begin
- num3 := num3 + 1;
- change := change - 2;
- end;
- while(change >= 1) do
- begin
- num4 := num4 + 1;
- change := change - 1;
- end;
- while(change >= 0.5) do
- begin
- num5 := num5 + 1;
- change := change - 0.5;
- end;
- while(change >= 0.2) do
- begin
- num6 := num6 + 1;
- change := change - 0.2;
- end;
- while(change >= 0.1) do
- begin
- num7 := num7 + 1;
- change := change - 0.1;
- end;
- while(change >= 0.05) do
- begin
- num8 := num8 + 1;
- change := change - 0.05;
- end;
- writeln(change:0:2); // debugging
- while(change >= 0.02) do
- begin
- num9 := num9 + 1;
- change := change - 0.02;
- end;
- writeln(change:0:2); // debugging
- while(change >= 0.01) do
- begin
- num10 := num10 + 1;
- change := change - 0.01;
- end;
- writeln(change:0:2); // debugging
- writeLn (num1:4:0, ' 10 Euroschein/e');
- writeLn (num2:4:0, ' 5 Euroschein/e');
- writeLn (num3:4:0, ' 2 Euromuenze/n');
- writeLn (num4:4:0, ' 1 Euromuenze/n');
- writeLn (num5:4:0, ' 0.50 Centstueck/e');
- writeLn (num6:4:0, ' 0.20 Centstueck/e');
- writeLn (num7:4:0, ' 0.10 Centstueck/e');
- writeLn (num8:4:0, ' 0.05 Centstueck/e');
- writeLn (num9:4:0, ' 0.02 Centstueck/e');
- writeLn (num10:4:0, ' 0.01 Centstueck/e');
- readKey;
- end.
Danke im Voraus.