{ Este programa aceita e valida o CPF- Cadastro de Pessoa Fisica. }
program ValidarCPF;
uses crt ;
function IsCpf(Cpf: string): boolean;
var S, i, R, Num, Code : integer;
Dig10, Dig11 : string;
begin
if length(Cpf) <> 11
then begin
IsCpf := False;
Exit;
end;
{ *-- Calculo do 1o. Digito Verificador --* }
S := 0;
for i := 1 to 9 do
begin
val(Cpf[i], Num, Code);
S := S + (Num * (11 - i));
end;
R := 11 - (S mod 11);
if (R = 10) or (R = 11)
then Dig10 := '0'
else str(R:1, Dig10);
{ *-- Calculo do 2o. Digito Verificador --* }
S := 0;
for i := 1 to 10 do
begin
val(Cpf[i], Num, Code);
S := S + (Num * (12 - i));
end;
R := 11 - (S mod 11);
if (R = 10) or (R = 11)
then Dig11 := '0'
else str(R:1, Dig11);
{ Verifica se os digitos calculados conferem. }
IsCpf := (Dig10 = Cpf[10]) and (Dig11 = Cpf[11]);
end;
function ImprimeCpf(Cpf: string): string;
begin
ImprimeCpf := copy(Cpf,1,3) + '.' + copy(Cpf,4,3) + '.' +
copy(Cpf,7,3) + '-' + copy(Cpf,10,2);
end;
var Cpf: string;
begin
clrscr;
gotoxy(01,01); write('Cadastro de Pessoas Fisicas.');
gotoxy(01,03); write('C.P.F.: '); readln(Cpf);
gotoxy(01,05); write('C.P.F.: ', ImprimeCpf(Cpf));
if IsCpf(Cpf)
then writeln(', valido.')
else writeln(', invalido !');
readkey;
end.
Nenhum comentário:
Postar um comentário