diff --git a/cpfs.pas b/cpfs.pas index cf2ed47..9ad1940 100644 --- a/cpfs.pas +++ b/cpfs.pas @@ -6,13 +6,13 @@ type cpf : string; prox : TCPF; end; - THash = array[0..99] of ptcpf; + THash = array[0..99] of ^ptcpf; var cpf:string; bool:boolean; - - + + function charInt(var letra:char):integer; var tmp:integer; @@ -21,13 +21,13 @@ var tmp:integer; charInt:=tmp; //ord('0')=48... ord('1')=49... dai -48 vira 0... end; -function validacaoDeInexistencialismoDeOutroCadastroDePessoasFisicasDentroDaLista(var cpf:string; final:integer; cpfs:thash ): boolean; +function validacaoDeInexistencialismoDeOutroCadastroDePessoasFisicaDentroDaLista( var cpf:string; final:integer; var cpfs:thash ): boolean; var i:integer; - aux:tcpf; + aux:^ptcpf; existenciaDeTalInformacaoNaLista:boolean; begin - aux:= cpfs[final]; + aux := cpfs[final]; existenciaDeTalInformacaoNaLista := false; while (aux^.prox <> nil) and (not existenciaDeTalInformacaoNaLista) do begin @@ -36,7 +36,7 @@ function validacaoDeInexistencialismoDeOutroCadastroDePessoasFisicasDentroDaList else aux:= aux^.prox; end; - validacaoDeInexistencialismoDeOutroCadastroDePessoasFisicasDentroDaLista:= existenciaDeTalInformacaoNaLista; + validacaoDeInexistencialismoDeOutroCadastroDePessoasFisicasDentroDaLista := existenciaDeTalInformacaoNaLista; end; @@ -62,7 +62,7 @@ function validarCPF(var cpf:string):boolean; if (dig2 = 10) or (dig2 = 11) then dig2 := 0; - ValidarCPF :=dig1=charInt( cpf[10] ) and dig2=charInt( cpf[10] ); + ValidarCPF := dig1=charInt( cpf[10] ) and dig2=charInt( cpf[10] ); 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 👍 if (validacaoDeInexistencialismoDeOutroCadastroDePessoasFisicasDentroDaLista(cpf, doisDigitos, cpfs)) then begin - new(novo); if novo = nil then writeln('Memoria cheia') @@ -107,6 +106,11 @@ procedure inserirCPF(var cpfs:THash; var cpf:string); writeln('CPF INVALIDO'); end; end; + + + + + begin readln(cpf); inserirCPF(hash,cpf);