Program S17;
Type
st = string[20];
Tab = array [1..10] Of st ;
Var
id,pw : st;
Tid,Tpw : Tab;
N : integer;
//**********************************
Procedure Saisieid(Var id:st);
Begin
Repeat
write('Identifiant : ');
readln(id);
Until id<>'' ;
End;
//**********************************
Procedure Saisiepw(Var pw:st);
Begin
Repeat
write('Mot de passe 6 caractères au min : ');
readln(pw);
Until length(pw)>=6 ;
End;
//**********************************
Function Verif(p,N:integer ; T:Tab) : boolean;
Var
i : integer;
id : st;
Begin
i := 1;
id := T[p] ;
While (id<>T[i]) And (i<p) Do
i := i+1;
verif := i=p;
End;
//**********************************
Procedure Remplir(Var N:integer ; Var Tid,Tpw:Tab) ;
Var
i : integer;
Begin
Repeat
write('N : ');
readln(N);
Until N In [2..10] ;
Writeln('Remplir Tid');
For i:=1 To N Do
Repeat
write('Tid[',i,']=');
readln(Tid[i])
Until (Tid[i]<>'') And (verif(i,N,Tid));
Writeln;
Writeln('Remplir Tpw');
For i:=1 To N Do
Begin
Write(i,' : ');
Saisiepw(Tpw[i]);
End;
End;
//**********************************
Procedure Affiche(N:integer ; T:tab);
Var
i : integer;
Begin
For i:=1 To N Do
write (T[i],' ');
writeln;
writeln;
End;
//**********************************
Function exist(mot:st ; n:integer ; T:tab) : boolean;
Var
i : integer;
Begin
i := 1;
While (t[i]<>mot) And (i<=n) Do
inc(i);
exist := i<=n;
End;
//**********************************
Procedure Acces(N:integer ; Tid,Tpw:Tab ; id,pw:st) ;
Begin
If exist(id,n,Tid) And exist (pw,n,Tpw) Then
Write(id,' Bienvenue sur notre site')
Else Write('Verifiez votre identificateur et/ou votre mot de passe !') ;
End;
//**********************************
Begin
Remplir(N,Tid,Tpw);
Writeln;
Affiche(N,Tid);
Affiche(N,Tpw);
Saisieid(id);
Saisiepw(pw);
Writeln;
Acces(N,Tid,Tpw,id,pw);
End.
Inscription à :
Publier les commentaires (Atom)