All pastes #957573 Raw Edit

Agenda

public text v1 · immutable
#957573 ·published 2008-03-26 01:28 UTC
rendered paste body
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.