PROGRAM Agenda;
type ag = record
nome:string;
fone:array[1..3] of string[8];
ender:string;
data_ani:array[1..2] of integer;
end;
var contatos:array[1..5] of ag;
i,opc,quant,j,consult,mes:integer;
nom:string;
begin
opc := 0;
while (opc <> 6) do
begin
writeln('Menu Principal');
writeln('--------------');
writeln;
writeln('1 - Inserir novo contato');
writeln('2 - Consultar contato');
writeln('3 - Excluir contato');
writeln('4 - Editar contato');
writeln('5 - Listar contatos');
writeln('6 - Sair do programa');
readln(opc);
case opc of
1: begin
writeln('Entre com a quantidade de contatos que deseja add');
readln(quant);
for i:=1 to quant do
begin
writeln('Entre com nome');
writeln('--------------');
readln(contatos[i].nome);
writeln;
writeln('Entre com o endereço');
writeln('--------------------');
readln(contatos[i].ender);
writeln;
writeln('Entre com 3 fones para contato');
writeln('Na ordem: Casa/Celular/Outros');
writeln('------------------------------');
for j:=1 to 3 do
readln(contatos[i].fone[j]);
end;
writeln;
writeln('Entre com a data e o mês do contato');
for i:=1 to quant do
begin
writeln('Contato: ',contatos[i].nome);
for j:=1 to 2 do
readln(contatos[i].data_ani[j]);
end;
end;
2: begin
writeln;
writeln('Submenu para opção 2');
writeln('--------------------');
writeln('1 - Consultar pelo nome');
writeln('2 - Consultar pelo mês');
readln(opc);
case opc of
1: begin
writeln('Entre com o nome do contato que deseja consultar');
readln(nom);
writeln;
for i:=1 to 5 do
begin
if (nom = contatos[i].nome) then
consult := i;
end;
if contatos[consult].nome <> ' ' then
begin
writeln('Nome do contato');
writeln('---------------');
writeln(contatos[consult].nome);
writeln;
writeln('Endereço do contato');
writeln('--------------------');
writeln(contatos[consult].ender);
writeln;
writeln('Anivers rio do contato');
writeln('----------------------');
writeln(contatos[consult].data_ani[1],'/',contatos[consult].data_ani[2]);
writeln;
writeln('Fones do contato contato');
writeln('------------------------------');
for j:=1 to 3 do
begin
writeln(contatos[consult].fone[j]);
writeln;
end;
readln;
end
else writeln('Não existe usuário com este nome cadastrado na lista');
end;
2: begin
writeln('Entre com o mês');
readln(mes);
writeln;
for i:=1 to 5 do
begin
if (mes = contatos[i].data_ani[2]) then
begin
writeln('Contato');
writeln('----------------------');
writeln('Nome: ',contatos[i].nome);
writeln('Aniversário: ',contatos[i].data_ani[1],'/',contatos[i].data_ani[2]);
writeln;
end;
end;
end;
end;
end;
3: begin
writeln('Entre com o nome do contato que deseja deletar');
readln(nom);
for i:=1 to 5 do
begin
if (nom = contatos[i].nome) then
consult := i;
end;
for j:=1 to 3 do
contatos[consult].fone[j] := ' ';
for i:=1 to 2 do
contatos[consult].data_ani[i] := 0;
contatos[consult].nome := ' ';
contatos[consult].ender := ' ';
end;
4: begin
writeln('Entre com o nome do contato que deseja editar');
readln(nom);
for i:=1 to 5 do
begin
if (nom = contatos[i].nome) then
consult := i;
end;
writeln('O que deseja modificar no contanto?');
writeln('-----------------------------------');
writeln('1 - Nome');
writeln('2 - Telefones');
writeln('3 - Endereço');
writeln('4 - Aniversário');
readln(opc);
case opc of
1: begin
writeln('Entre com um novo nome para o usuário');
readln(nom);
contatos[consult].nome := nom;
end;
2: begin
writeln('Quais dos telefones deseja modificar?');
writeln('1 - Casa');
writeln('2 - Celular');
writeln('3 - Outros');
readln(opc);
case opc of
1:begin
writeln('Entre com o novo número');
readln(contatos[consult].fone[1]);
end;
2: begin
writeln('Entre com o novo número');
readln(contatos[consult].fone[2]);
end;
3: begin
writeln('Entre com o novo número');
readln(contatos[consult].fone[3]);
end;
else writeln('Opção inválida');
end;
end;
3: begin
end;
end;
end;
5: begin
end;
6: begin
writeln('Finalizando programa');
end;
else writeln('Opção inválida');
end;
end;
end.