Witam,
Czy w ogóle da się tak wykombinować, aby bo wykryciu wartości 1 w tablicy program przeszedł mi w miejsce tuż przed wypisaniem na ekran "Brak wolnych miejsc..." (mam w to miejsce wstawione break'i, które oczywiście nic nie dają w tym przypadku)? Proszę o pomoc.
procedure sprawdz_wolne;
begin
clrscr;
writeln ('Podaj dzien rezerwacji:');
readln (dzien);
writeln ('Podaj miesiac rezerwacji:');
readln (miesiac);
writeln ('Podaj dlugosc trwania rezerwacji:');
readln (ilosc_dni);
CASE miesiac of
1: data:=dzien;
2: data:=31+dzien;
3: data:=31+28+dzien;
4: data:=2*31+28+dzien;
5: data:=2*31+30+28+dzien;
6: data:=3*31+30+28+dzien;
7: data:=3*31+2*30+28+dzien;
8: data:=4*31+2*30+28+dzien;
9: data:=5*31+2*30+28+dzien;
10: data:=5*31+3*30+28+dzien;
11: data:=6*31+3*30+28+dzien;
12: data:=6*31+4*30+28+dzien;
end;
writeln ('Podaj ilosc osob');
readln (ilosc_osob);
CASE ilosc_osob of
1: begin
assign(pokoj1, 'pokoj1.dat');
reset(pokoj1);
for i:=1 to ilosc_dni do
begin
if (kalendarz_pokoj1[data]=1) then
break
else
data:=data+1;
end;
data:=data-ilosc_dni;
for i:=1 to ilosc_dni do
begin
kalendarz_pokoj1[data]:=1;
write(pokoj1, kalendarz_pokoj1[data]);
data:=data+1;
end;
close(pokoj1);
decyzja;
end;
2: begin
assign(pokoj2, 'pokoj2.dat');
reset(pokoj2);
for i:=1 to ilosc_dni do
begin
if (kalendarz_pokoj2[data]=1) then
break
else data:=data+1;
end;
data:=data-ilosc_dni;
for i:=1 to ilosc_dni do
begin
kalendarz_pokoj2[data]:=1;
write(pokoj2, kalendarz_pokoj2[data]);
data:=data+1;
end;
close(pokoj2);
decyzja;
end;
3: begin
assign(pokoj3, 'pokoj3.dat');
reset(pokoj3);
for i:=1 to ilosc_dni do
begin
if (kalendarz_pokoj3[data]=1) then
break
else data:=data+1;
end;
data:=data-ilosc_dni;
for i:=1 to ilosc_dni do
begin
kalendarz_pokoj1[data]:=1;
write(pokoj3, kalendarz_pokoj3[data]);
data:=data+1;
end;
close(pokoj3);
decyzja;
end;
4: begin
assign(pokoj4, 'pokoj4.dat');
reset(pokoj4);
for i:=1 to ilosc_dni do
begin
if (kalendarz_pokoj4[data]=1) then
break
else data:=data+1;
end;
data:=data-ilosc_dni;
for i:=1 to ilosc_dni do
begin
kalendarz_pokoj1[data]:=1;
write(pokoj4, kalendarz_pokoj4[data]);
data:=data+1;
end;
close(pokoj4);
decyzja;
end;
end;
writeln('Brak wolnych miejsc/odrzucono propozycje rezerwacji');
readln;
end;