Update cpfs.pas

This commit is contained in:
2026-06-23 21:11:30 -03:00
parent 57cb826102
commit cd5e72a6c3
+13 -9
View File
@@ -6,13 +6,13 @@ type
cpf : string; cpf : string;
prox : TCPF; prox : TCPF;
end; end;
THash = array[0..99] of ptcpf; THash = array[0..99] of ^ptcpf;
var var
cpf:string; cpf:string;
bool:boolean; bool:boolean;
function charInt(var letra:char):integer; function charInt(var letra:char):integer;
var tmp:integer; var tmp:integer;
@@ -21,13 +21,13 @@ var tmp:integer;
charInt:=tmp; //ord('0')=48... ord('1')=49... dai -48 vira 0... charInt:=tmp; //ord('0')=48... ord('1')=49... dai -48 vira 0...
end; end;
function validacaoDeInexistencialismoDeOutroCadastroDePessoasFisicasDentroDaLista(var cpf:string; final:integer; cpfs:thash ): boolean; function validacaoDeInexistencialismoDeOutroCadastroDePessoasFisicaDentroDaLista( var cpf:string; final:integer; var cpfs:thash ): boolean;
var var
i:integer; i:integer;
aux:tcpf; aux:^ptcpf;
existenciaDeTalInformacaoNaLista:boolean; existenciaDeTalInformacaoNaLista:boolean;
begin begin
aux:= cpfs[final]; aux := cpfs[final];
existenciaDeTalInformacaoNaLista := false; existenciaDeTalInformacaoNaLista := false;
while (aux^.prox <> nil) and (not existenciaDeTalInformacaoNaLista) do while (aux^.prox <> nil) and (not existenciaDeTalInformacaoNaLista) do
begin begin
@@ -36,7 +36,7 @@ function validacaoDeInexistencialismoDeOutroCadastroDePessoasFisicasDentroDaList
else else
aux:= aux^.prox; aux:= aux^.prox;
end; end;
validacaoDeInexistencialismoDeOutroCadastroDePessoasFisicasDentroDaLista:= existenciaDeTalInformacaoNaLista; validacaoDeInexistencialismoDeOutroCadastroDePessoasFisicasDentroDaLista := existenciaDeTalInformacaoNaLista;
end; end;
@@ -62,7 +62,7 @@ function validarCPF(var cpf:string):boolean;
if (dig2 = 10) or (dig2 = 11) then if (dig2 = 10) or (dig2 = 11) then
dig2 := 0; dig2 := 0;
ValidarCPF :=dig1=charInt( cpf[10] ) and dig2=charInt( cpf[10] ); ValidarCPF := dig1=charInt( cpf[10] ) and dig2=charInt( cpf[10] );
end; end;
@@ -76,7 +76,6 @@ procedure inserirCPF(var cpfs:THash; var cpf:string);
doisDigitos:=( charInt(cpf[10])*10 ) + charInt(cpf[11]); //*10 pq né, vira dezena + decimal 👍 doisDigitos:=( charInt(cpf[10])*10 ) + charInt(cpf[11]); //*10 pq né, vira dezena + decimal 👍
if (validacaoDeInexistencialismoDeOutroCadastroDePessoasFisicasDentroDaLista(cpf, doisDigitos, cpfs)) then if (validacaoDeInexistencialismoDeOutroCadastroDePessoasFisicasDentroDaLista(cpf, doisDigitos, cpfs)) then
begin begin
new(novo); new(novo);
if novo = nil then if novo = nil then
writeln('Memoria cheia') writeln('Memoria cheia')
@@ -107,6 +106,11 @@ procedure inserirCPF(var cpfs:THash; var cpf:string);
writeln('CPF INVALIDO'); writeln('CPF INVALIDO');
end; end;
end; end;
begin begin
readln(cpf); readln(cpf);
inserirCPF(hash,cpf); inserirCPF(hash,cpf);