Você está na página 1de 2

Disciplina: Laboratório de Programação

Professores: Antônio Helson e Armando Soares

Período: 2022.1

Atividade: Projeto Final

Gerenciador de Agenda de Contatos

Criar um programa em C que faça o gerenciamento de contatos via lista encadeada,


salve os contatos em um arquivo e recupere os dados salvos a partir do arquivo.

O gerenciador de contatos deverá ter as seguintes funcionalidades:

1. Criar um arquivo para salvar os dados dos contatos.

2. Criar um contato com as seguintes características:

id (inteiro gerado automaticamente), por exemplo, o id inicia com 1 e para cada novo
contato o id é incrementado em 1.

cpf (string de 11 caracteres)

nome (string de 50 caracteres)

telefone (string de 12 caracteres)

endereco (string de 100 caracteres)

cidade (string de 50 caracteres)

estado (string de 2 caracteres)

3. Criar uma função que leia os dados de um contato.

4. Criar uma função que manipule o menu principal e suas opções.

5. Criar uma função que manipule os sub-menus e suas opções.

6. Criar uma estrutura de dados do tipo lista encadeada para registrar os contatos.

7. Inserir um contato na agenda e salvar no arquivo.

8. Listar todos os contatos da agenda.

9. Pesquisar contato por nome.

10. Pesquisar contato por telefone.

11. Listar todos os contatos da agenda por ordem alfabética crescente.

12. Listar todos os contatos da agenda por ordem alfabética decrescente.

13. Dado um nome do contato, remover este contato da agenda.

14. Dado o telefone do contato, remove este contato da agenda.

Sugestões para a Interface via Terminal

1. Assim que o programa for carregado deverá exibir um menu com as principais opções
do programa:

Menu principal:

1. Listar contatos

2. Inserir contato

3. Pesquisar contato

4. Remover contato

5. Sair

Escolha a opção: ?

2. O menu principal poderá gerar os seguintes sub-menus:

1. Listar contatos -> 1.1 Listar contatos (ordem crescente)

1. Listar contatos -> 1.2 Listar contatos (ordem decrescente)

3. Pesquisar contato -> 3.1 Pesquisar contato por nome

3. Pesquisar contato -> 3.2 Pesquisar contato por telefone

4. Remover contato -> 4.1 Remover contato por nome

4. Remover contato -> 4.2 Remover contato por telefone

Você também pode gostar