program cadastro;
uses crt;
type
fone = record {registro para armazenar diferentes numeros de telefone no cadastro}
residencial: string[8];
celular: string[8];
comercial: string[8];
end;
type
ender = record
logradouro: string[50];{registro para armazenar dados de endereço no cadastro}
numero: integer;
bairro: string[50];
cidade: string[50];
estado: string[50];
cep: string[8];
end;
type
agenda = record {registro principal}
nome: string[50];
rg: string[8];
cpf: string[11];
mail: string[50];
codigo: integer;
situacao: boolean; {campo para validar o cadastro como ativo ou nao}
telefone: fone;
endereco: ender;
end;
var
pessoa: array[1..100] of agenda;
i,j,k: integer;
cod: integer; {variavel para comparar com o codigo de cada registro
para q nao haja codigos iguais, e para buscar o registro}
op: integer;
tecla: char; {variavel que recebe readkey para paralizar a tela e voltar o menu}
procedure cadastrar;
begin
i:=i+1;
clrscr;
writeln('# Dados Pessoais #');
writeln;
write('Codigo: ');
readln(pessoa[i].codigo);
j:=i; {o uso do j é para não alterar o valor de i}
cod:=pessoa[i].codigo;
while (j>1) do
begin
k:=1;
while (k
begin
if (cod=pessoa[k].codigo) then
begin
writeln('Favor digite outro codigo');
write('Codigo: ');
readln(pessoa[i].codigo);
end;
k:=k+1;
end;
j:=j-1;
end;
write('nome: ');
readln(pessoa[i].nome);
write('rg: ');
readln(pessoa[i].rg);
write('cpf: ');
readln(pessoa[i].cpf);
write('E-mail: ');
readln(pessoa[i].mail);
write('logradouro: ');
readln(pessoa[i].endereco.logradouro);
write('numero: ');
readln(pessoa[i].endereco.numero);
write('bairro: ');
readln(pessoa[i].endereco.bairro);
write('cidade: ');
readln(pessoa[i].endereco.cidade);
write('estado: ');
readln(pessoa[i].endereco.estado);
write('cep: ');
readln(pessoa[i].endereco.cep);
write('telefone residencial: ');
readln(pessoa[i].telefone.residencial);
write('telefone comercial: ');
readln(pessoa[i].telefone.comercial);
write('telefone celular: ');
readln(pessoa[i].telefone.celular);
pessoa[i].situacao:=true;
writeln;
writeln('Digite algo para voltar no menu');
tecla:=readkey;
end;
procedure buscar;
begin
clrscr;
if (i=0) then
begin
writeln('Nao ha nenhum cadastro');
end
else
begin
writeln('digite o codigo da pessoa que deseja buscar');
readln(cod);
clrscr;
j:=1; {o uso do j é para não mudar o valor de i}
while (cod<>pessoa[j].codigo)and(j<=100) do
begin
j:=j+1;
end;
if (cod<>pessoa[j].codigo) then
begin
writeln('Nao ha cadastro com esse codigo');
end
else
begin
writeln('# Dados Pessoais #');
writeln;
writeln('Nome: ',pessoa[j].nome);
writeln('RG: ',pessoa[j].rg);
writeln('CPF: ',pessoa[j].cpf);
writeln('E-mail: ',pessoa[i].mail);
writeln('Logradouro: ',pessoa[j].endereco.logradouro);
writeln('Numero: ',pessoa[j].endereco.numero);
writeln('Bairro: ',pessoa[j].endereco.bairro);
writeln('Cidade: ',pessoa[j].endereco.cidade);
writeln('Estado: ',pessoa[j].endereco.estado);
writeln('CEP: ',pessoa[j].endereco.cep);
writeln('Telefone Residencial: ',pessoa[j].telefone.residencial);
writeln('Telefone Comercial: ',pessoa[j].telefone.comercial);
writeln('Telefone Celular: ',pessoa[j].telefone.celular);
writeln('Situacao: ',pessoa[j].situacao);
end;
end;
writeln;
writeln('Digite algo para voltar no menu');
tecla:=readkey;
end;
procedure atualizar;
var
l:integer; {para nao mudar o valor de i, e comparar registro por registro}
begin
clrscr;
if (i=0) then
begin
writeln('Nao ha nenhum cadastro');
end
else
begin
writeln('digite o codigo da pessoa que deseja atualizar cadastro');
readln(cod);
clrscr;
j:=1; {o uso do j é para não mudar o valor de i}
while (cod<>pessoa[j].codigo)and(j<=100) do
begin
j:=j+1;
end;
if(cod<>pessoa[j].codigo) then
begin
writeln('Nao ha cadastro com esse codigo');
end
else
begin
writeln('# Dados Pessoais #');
writeln;
write('codigo: ');
readln(pessoa[j].codigo);
l:=j;
cod:=pessoa[j].codigo;
while (l>1) do
begin
k:=1; {o uso do k é para não mudar o valor de j, pois a condição de parada e o valor de j}
while (k
begin
if (cod=pessoa[k].codigo) then
begin
writeln('Favor digite outro codigo');
write('Codigo: ');
readln(pessoa[i].codigo);
end;
k:=k+1;
end;
l:=l-1;
end;
write('nome: ');
readln(pessoa[j].nome);
write('rg: ');
readln(pessoa[j].rg);
write('cpf: ');
readln(pessoa[j].cpf);
write('E-mail: ');
readln(pessoa[j].mail);
write('logradouro: ');
readln(pessoa[j].endereco.logradouro);
write('numero: ');
readln(pessoa[j].endereco.numero);
write('bairro: ');
readln(pessoa[j].endereco.bairro);
write('cidade: ');
readln(pessoa[j].endereco.cidade);
write('estado: ');
readln(pessoa[j].endereco.estado);
write('cep: ');
readln(pessoa[j].endereco.cep);
write('telefone residencial: ');
readln(pessoa[j].telefone.residencial);
write('telefone comercial: ');
readln(pessoa[j].telefone.comercial);
write('telefone celular: ');
readln(pessoa[j].telefone.celular);
pessoa[j].situacao:=true;
end;
end;
writeln;
writeln('Digite algo para voltar no menu');
tecla:=readkey;
end;
begin
i:=0;
while(op<>4)and(i<=100) do
begin
clrscr;
gotoxy(32,1);
writeln('# MENU #');
gotoxy(16,4);
writeln('1- PARA NOVO CADASTRO');
gotoxy(16,6);
writeln('2- PARA BUSCAR CADASTRO');
gotoxy(16,8);
writeln('3- PARA ATUALIZAR CADASTRO');
gotoxy(16,10);
writeln('4- PARA SAIR');
gotoxy(14,13);
write('
readln(op);
if (op=1) then
cadastrar
else
if (op=2) then
buscar
else
if (op=3) then
atualizar;
end;
readkey;
end.
terça-feira, 11 de maio de 2010
Exemplo Cadastro.
Assinar:
Postar comentários (Atom)
0 comentários:
Postar um comentário