Et moi j'attendais tranquillement dans ma boite mail , quelle tache , donc voilà tout le truc , ce qu'il y a en plus du problème d'appel de fonction , c'est que j'aimerais avoir les mêmes paramètres dans la procedure et la fonction :
WITH ADA.Text_IO,Ada.Integer_Text_IO;
USE Ada.Text_IO,Ada.Integer_Text_IO;
Procedure TP_7_g_If is
SUBTYPE T_Mois IS Natural RANGE 1..12 ;
SUBTYPE T_Jour IS Natural RANGE 1..31 ;
SUBTYPE T_Annee IS Natural RANGE 1..9999;
TYPE T_Date is RECORD
J: T_Jour ;
M: T_Mois ;
A: T_Annee ;
END RECORD ;
FUNCTION Anterieure_Ou_Egale( D3,D4 :T_Date ) RETURN Boolean IS
BEGIN
IF (D3.A < D4.A)
THEN return True;
ELSIF (D3.A = D4.A )
THEN IF (D3.M < D4.M )
THEN return True ;
ELSIF (D3.M = D4.M )
THEN IF (D3.J <= D4.J)
THEN return True ;
ELSE return False ;
END IF;
ELSE return False;
END IF;
ELSE return False ;
END IF ;
END Anterieure_Ou_Egale;
BEGIN
LOOP
Put("donnez le jour puis le mois puis l'annee , séparez par un espace , appuyez sur entrée en fin de saisi " );
New_Line ;
Get(D3.J);Get(D3.M);Get(D3.A);Skip_Line;
Put("donnez le jour puis le mois puis l'annee , séparez par un espace , appuyez sur entrée en fin de saisi " );
New_Line ;
Get(D4.J);Get(D4.M);Get(D4.A);Skip_Line;
-- C'est là que j'aimerais appeler ma fonction :
Anterieure_Ou_Egale ; -- C'est là ( en partie ) que ça foire même si je met ( D3,D4)
END LOOP;
End;
PS : Pourtant c'est pas dur de renvoyer une valeur avec une procedure je comprend pas pourquoi on écrit toujours ça .
Message édité par klinfran le 24-08-2006 à 21:05:16