1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58
| program test;
const MAX=100;
type tabReservations=array [1..MAX,1..MAX] of string;
var reservation : tabReservations;
function formatArrivee(date : string):longint;
var
i, er : integer;
arrivee : longint;
motArrivee : string;
begin
arrivee:=0;
motArrivee:='';
for i:=1 to 8 do
motArrivee:=motArrivee + date[i];
val(motArrivee,arrivee,er);
formatArrivee:=arrivee;
end;
function formatDepart(date : string):longint;
var
i, er : integer;
depart : longint;
motDepart : string;
begin
depart:=0;
motDepart:='';
for i:=13 to 20 do
motDepart:=motDepart + date[i];
val(motDepart,depart,er);
formatDepart:=depart;
end;
function disponibiliteSejour(aClient, dClient : longint; chambre, sejour: integer): boolean;
var
i, j : integer;
reservation : tabReservations;
begin
disponibiliteSejour:=false;
if (aClient > formatDepart(reservation[chambre][sejour])) and (dClient > formatDepart(reservation[chambre][sejour])) then
disponibiliteSejour:=true;
if (aClient < formatArrivee(reservation[chambre][sejour])) and (dClient < formatArrivee(reservation[chambre][sejour])) then
disponibiliteSejour:=true;
end;
begin
reservation[1][1]:='20130203 au 20130310';
writeln('Arrivée : ',formatArrivee(reservation[1][1]));
writeln('Depart : ',formatDepart(reservation[1][1]));
if disponibiliteSejour(20130302, 20130310, 1, 1)=true then
writeln('C''est dispo');
if disponibiliteSejour(20130302, 20130310, 1, 1)=false then
writeln('C''est occupé');
end. |