A Agenda de Contactos
Pretende-se que desenvolva uma aplicação para gerir uma agenda de
contactos. Uma agenda é uma lista de entradas ou grupos de entradas.
Uma entrada tem a seguinte constituição:
- chave
- chave única de identificação (não pode haver duas entradas com a mesma chave);
- tipo
- tipo da entrada: pessoa, empresa, ...
- nome
- nome da pessoa, empresa ou entidade;
- email
- contacto electrónco (é opcional)
- telefone
- número de telefone (obrigatório)
Um grupo pode ter entradas, referências a entradas já existentes na agenda (por chave)
ou subgrupos (os grupos podem ter grupos aninhados infinitamente). O grupo tem, então, a seguinte constituição:
- chave
- chave única de identificação (não pode haver dois grupos com a mesma chave);
- nome
- nome do grupo; lista de itens: entradas e/ou grupos e/ou referências;
Por sua vez, a referência é apenas constituída pela chave da entrada ou grupo que referencia.
Desenvolva a aplicação nas seguintes etapas:
(a)Defina as estruturas de dados necessárias para suportar o sistema de informação;
(b)Especifique as várias funções de inserção: inserir uma entrada na agenda, inserir um grupo na
agenda, inserir uma entrada num grupo, ...
(c)Especifique uma função para listar o conteúdo da agenda.
(d)Especifique uma função para gravar o conteúdo da agenda num ficheiro.
(e)Especifique uma função para carregar o conteúdo da agenda de um ficheiro.
(f)Especifique as várias funções de remoção.