Archived
1
0
This repository has been archived on 2025-03-31. You can view files and clone it, but cannot push or open issues or pull requests.
pascal/ITG/AUSFLUG.PAS
2001-11-30 12:14:44 +01:00

76 lines
2.1 KiB
Plaintext
Raw Permalink Blame History

program Bahnausflug;
{ Ein Club plant einen Ausflug mit einer Privatbahn. Dort kostet ein
Tarifkilometer 20 Pf und bei Gruppenreisen hat jeder 6. Reisende eine
Freifahrt. Es ist ein Programm zu schreiben, daá die Fahrtkosten pro
Person f<>r eine beliebige Anzahl von Reisenden und Kilometern ermittelt,
wobei die Gesamtkosten auf alle Teilnehmer gleichm„áig umgelegt werden. }
uses Crt,VFx;
const money=0.20;
var people,km: longint;
procedure Init;
var mon: string;
begin
TextBackground(0);
ClrScr;
DrawBorder(40,12,15,1,5);
FXWriteC('-=ð+ Bahnkostenberechnung +ð=-',14);
WriteLn;
TextColor(10);
Str(money:0:2,mon);
WriteCLn('Der Preis pro Tarifkilometer betr„gt '+mon+' DM.');
TextColor(11);
WriteLn;
ReadyBeep;
end;
procedure GetData;
begin
Write('Okay, wieviel Leutchens sollen''s denn werden? ');
ReadLn(people);
AckBeep;
if people=1 then Write('Und wieviel Kilometer will diese Person fahren? ')
else Write('Und wieviel Kilometer wollen diese ',people,' Personen fahren? ');
ReadLn(km);
WriteLn;
AckBeep;
end;
procedure PrintData;
var freepeople,restpeople: longint;
geldges,geldpro: extended;
begin
TextColor(15);
freepeople := people div 6;
case freepeople of
0: CWriteLn('Es f„hrt niemand kostenlos! %%12#(NICHTS IST UMSONST!!)%%15#');
1: WriteLn('Es f„hrt eine Person kostenlos.');
else
WriteLn('Es fahren ',freepeople:0,' Personen kostenlos.');
end;
restpeople := people - freepeople;
if restpeople=1 then Write('Und diese eine Person muá ')
else Write('Und ',restpeople,' der ',people,' Personen m<>ssen insgesamt ');
geldges := restpeople * km * money;
WriteLn(geldges:0:2,' DM hinbl„ttern.');
geldpro := km * money;
if restpeople>1 then WriteLn('Das heiát, jeder muá ',geldpro:0:2,' DM hinlegen.');
WriteLn;
TextColor(7);
WriteLn('Vielen Dank, daá Sie dieses Program benutzt haben.');
WaitBeep;
WriteLn;
CWriteLn('%%142#=== Dr<44>cken Sie eine Taste! ===%%7#');
ReadKey;
end;
begin
Init;
GetData;
PrintData;
end.