Disponibilité séjours (PASCAL)
Répondre à la discussion
Affichage des résultats 1 à 3 sur 3

Disponibilité séjours (PASCAL)



  1. #1
    invite204ee98d

    Disponibilité séjours (PASCAL)


    ------

    Bonsoir,


    A l exécution le programme ne fait pas ce à quoi je m'attendais, son but étant de voir si une date de réservation et comprise dans une autre date déjà enregistrée.
    Le programme compile mais il renvoie toujours dispo, je ne vois pas pourquoi, pour l exécuter j ai pris exprès un cas ou ca doit renvoyer occupé. S il y a une erreur elle devrait provenir de la fonction disponibilité puisque j ai vérifié les autres séparément et ca marche, merci d avance pour votre aide


    Code:
    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
    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;
    if (aClient > formatArrivee(reservation[chambre][sejour])) and (aClient < formatDepart(reservation[chambre][sejour])) and (dClient > formatArrivee(reservation[chambre][sejour])) and (dClient < formatDepart(reservation[chambre][sejour])) then
    	disponibiliteSejour:=false;
    if (aClient > formatArrivee(reservation[chambre][sejour])) and (aClient < formatDepart(reservation[chambre][sejour])) and (dClient > formatArrivee(reservation[chambre][sejour])) and (dClient > formatDepart(reservation[chambre][sejour])) then
    	disponibiliteSejour:=false;
    if (aClient < formatArrivee(reservation[chambre][sejour])) and (aClient < formatDepart(reservation[chambre][sejour])) and (dClient > formatArrivee(reservation[chambre][sejour])) and (dClient > formatDepart(reservation[chambre][sejour])) then
    	disponibiliteSejour:=false;
    if (aClient < formatArrivee(reservation[chambre][sejour])) and (aClient < formatDepart(reservation[chambre][sejour])) and (dClient > formatArrivee(reservation[chambre][sejour])) and (dClient < formatDepart(reservation[chambre][sejour])) then
    	disponibiliteSejour:=false;
    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.

    -----

  2. #2
    invite69d38f86

    Re : Disponibilité séjours (PASCAL)

    tu as une variable globale reservation que tu alimentes et une variable locale dans ta fonction qui ne semble pas alimentée.

  3. #3
    invite69d38f86

    Re : Disponibilité séjours (PASCAL)

    (variable locale du meme nom)

Discussions similaires

  1. séjours de vacances scientifiques
    Par invite014879ba dans le forum Science ludique : la science en s'amusant
    Réponses: 0
    Dernier message: 12/05/2011, 15h13
  2. Séjours internationaux écoles de commerce
    Par invitef85c0cce dans le forum Orientation après le BAC
    Réponses: 0
    Dernier message: 01/10/2010, 20h51
  3. disponibilité particulière.
    Par invite4afa0867 dans le forum Secourisme spécial Croix-Rouge
    Réponses: 8
    Dernier message: 20/12/2009, 03h09
  4. Disponibilité
    Par invite4768169e dans le forum Enseignement : le forum des enseignants
    Réponses: 2
    Dernier message: 19/12/2009, 19h53