Program achat;
Type 
    Tab = array[1..100] Of string;
Var 
    n,Nbp,i,j : Integer;
    Nomp : String;
    T : tab;
//***********************************************
Function verif(ch:String) : Boolean;
Var 
    i : Integer;
    b : Boolean;
Begin
    i := 1;
    Repeat
        i := i+1;
        If (ch[i] In['a'..'z','A'..'Z','0'..'9',' ']) Then
            b := true
        Else
            b := false;
    Until Not b Or (i=length(ch));
    verif := b;
End ;
//***********************************************
Function Existe(T:tab;n:integer;x:String) : Boolean;
Var 
    i : Integer;
    b : boolean;
Begin
    i := 0;
    Repeat
        i := i+1;
        If x=T[i] Then
            b := true
        Else
            b := false;
    Until  b Or (i=N);
    Existe := B;
End ;
//***********************************************
Function nb_distinct(T:Tab;Nbp:integer) : integer;
Var 
    nb,i : integer;
Begin
    nb := 1;
    For i:=2 To Nbp Do
        If Not Existe(T,i-1,T[i]) Then
            nb := nb+1;
    nb_distinct := nb;
End;
//***********************************************
Procedure Remplir(Var T:tab;N:Integer; Var Nbp:integer);
Var 
    i : integer;
    ch : string;
Begin
    Nbp := 0;
    For i:= 1 To n Do
        Begin
            Repeat
                write('Donner le nom du produit :');
                Readln(Nomp);
            Until (verif(Nomp))And (length(Nomp)<=20);
            If (Pos('ECOLO',Nomp)<> 0) Then
                Begin
                    Nbp := Nbp+1;
                    T[Nbp] := nomp;
                End;
        End;
End;
//***********************************************
Begin
    Repeat
        Write('Donner le nombre des produits achets :');
        Readln(N);
    Until n In [5..100];
    Remplir(T,N,Nbp);
    If  Nbp=0 Then
        writeln('Pour plus d''économie, achetez les produits de la marque ECOLO')
    Else
        Begin
            writeln('Merci pour l"achat de ',Nbp,' produit(s) de la marque ECOLO');
            If nb_distinct(T,Nbp)>5 Then
                writeln('Vous etes un client fidèle pour la marque ECOLO! '
                        +'Aimerez-vous devenir ambassadeur de la marque?');
        End;
End.
Inscription à :
Publier les commentaires (Atom)