23) Agenda Eletrônica

Trabalho Prático - Agenda Telefônica

Faça uma agenda telefônica.

A agenda deverá ser capaz de armazenar os seguintes dados:

  • Nome (até 52 caracteres)
  • Endereço (rua, bairro, cidade, estado, etc.) (até 70 caracteres)
  • Telefone (10 caracteres)
  • e-mail (até 47 caracteres)
  • idade (em anos - inteiro)

Os dados deverão ser armazenados/recuperados do arquivo binário agenda.bin. Os dados deverão permanecer sempre em ordem de nome.

Funcionamento:

  1. O usuário deverá inicialmente enviar o comando de leitura de dados.
  2. Posteriormente, o usuário poderá selecionar qualquer outra opção
  3. Cabe ao usuário salvar ao final os dados com a opção salvar.

A agenda deverá ter as seguintes opções:

  1. Ler dados do arquivo.
  2. Salvar dados no arquivo.
  3. Incluir um nome.
  4. Excluir um nome.
  5. Procurar um nome.
  6. Modificar dados através de um nome.
  7. Listar toda a agenda em ordem de nome.
  8. Listar toda a agenda em ordem de e-mail.
  9. Listar toda a agenda em ordem de idade (com desempate por nome).
  10. Terminar.

O programa deverá ter as seguintes funções:

  1. Uma função para apresentar o menu de opções. Esta função deverá ler a opção do usuário e somente devolver a opção válida. Ela não deverá chamar as funções para realizar as tarefas do menu de opções.
  2. Uma função chamada ler_arq() para ler o arquivo. Deverá receber os vetores e a quantidade máxima possível a ser armazenada nos vetores. A função retorna a quantidade de elementos lidos.
  3. Uma função chamada esc_arq() para escrever o arquivo. Deverá receber os vetores e a quantidade de dados a armazenar.
  4. Funções de deslocamento de strings (chegapraca()-chegaprala()).
  5. Função de busca binária.
  6. Funções de ordenação.