Program S6;
Var
ch : String;
//**************************************
Function NB_Arobe(ch:String) : integer;
Var
i,NB : integer;
Begin
NB := 0;
For i:=1 To Length(ch) Do
Begin
If (ch[i] = '@') Then
NB := NB+1;
End;
NB_Arobe := NB;
End;
//**************************************
Function Valide(ch:String) : Boolean;
Var
V1,V2 : Boolean;
i : integer;
Begin
i := 1;
V1 := True;
While (i<=Length(ch)) And(V1=True) Do
Begin
If (upcase(ch[i]) In ['A'..'Z','0'..'9','@','_','-','.']) Then
i := i+1
Else
V1 := False;
End;
V2 := Not((ch[POS('@',ch)-1] In ['_','-','.']));
Valide := (V1) And (V2) And (NB_Arobe(ch) = 1);
End;
//**************************************
Procedure Saisie(Var ch:String);
Begin
Repeat
write('@ Mail : ');
readln(ch);
Until (upcase(ch[1]) In ['A'..'Z']) And (Valide(ch));
End;
//**************************************
Function Mot_de_passe(ch:String) : String;
Var
Motpass : String;
Begin
MotPass := Copy(ch,1,POS('@',ch)-1)+ch[POS('@',ch)+1]+ch[Length(ch)];
Mot_de_passe := Motpass;
End;
//**************************************
Begin
Saisie(ch);
writeln('Mot de passe : ',Mot_de_passe(ch));
End.
Inscription à :
Publier les commentaires (Atom)