program pociag_program;
uses
crt, zapisz;
type baza=array[1..2,1..5] of integer;
var menu:char;
sklad:baza;
a:byte;
Procedure parametry;
Begin
{sklad[1,1] := 20;
sklad[1,2] := 20;
sklad[1,3] := 20;
sklad[1,4] := 20;
sklad[1,5] := 20;}
for a:=1 to 5 do sklad[1,a]:=20;
End;
Procedure info(we_1:baza);
var i,j:Byte; {indeksy}
Begin
for i:=1 to 2 do
Begin
for j:=1 to 5 do Write(we_1[i,j],'|');
WriteLn;
End;
End;
Procedure zmiana_poj(we: baza; var wy: baza);
Var wagon, zmiana: integer;
{wagon - numer wagonu do edycji
zmiana - wartosc o ile zmieniamypojemnosc}
Begin
{pytamy sie o wagon i jego polemnosc}
Write('Podaj ktory wagon edytowac? >#>');
Readln(wagon);
Write('Podaj o ile zwiekszy pojemnosc? >#>');
readln(zmiana);
if (we[1,wagon]+zmiana > we[2,wagon]) Then
Begin
wy[1,wagon]:=we[1,wagon]+zmiana;
End
Else
Begin
Writeln('Taka zmiana nie jest mozliwa');
Readln;
End;
End;
procedure zmiana_rez(we:baza;
var wy:baza);
var wagon,zmiana:integer;
begin
{pytamy sie o numer wagonu w ktorym chcemy zmienic ilosc rezerwacji}
write('podaj numer wagonu w ktorym chcesz zmienic ilosc rezerwacji');
readln(wagon);
write('podaj o ile chcesz zwiekszyc liczbe rezerwacji');
readln(zmiana);
if (we[2,wagon]+zmiana <=we[1,wagon]) then
begin
wy[2,wagon] :=we[2,wagon]+zmiana;
end
else
begin
writeln('taka zmiena nies jest mozliwa');
readln;
end;
end;
Begin
ClrScr;
parametry;
Repeat
ClrScr;
info(sklad);
{menu}
writeln('1.Zmien pojemnosc wagonu');
writeln('2.Rezerwacja miejsc');
writeln('3.Stan');
writeln('4.Zapisz');
writeln('5.Koniec');
readln(menu);
case menu of
'1' : begin
ClrScr;
{wyswietla informacje o skladzie pociagu}
info(sklad);
{Zmiana pojemnosci}
zmiana_poj(sklad,sklad);
end;
'2' : begin
ClrScr;
{wyswietlamy informacje o skladzie wagonu}
info(sklad);
{zmiana rezerwacji}
zmiana_rez(sklad,sklad);
end;
'3' : Begin
ClrScr;
{wyswietla informacje o skladzie pociagu}
info(sklad);
ReadLn;
End;
'4' : begin
zapisz.zapisz(sklad,'plik.txt');
end;
End;
until menu='5';
end. {koniec programu}