Вы находитесь на странице: 1из 7

UNIVERSIDADE FEDERAL RURAL DO SEMI-ÁRIDO

CENTRO MULTIDISCIPLINAR DE PAU DOS FERROS


BACHARELADO EM CIÊNCIA E TECNOLOGIA
BACHARELADO EM ENGENHARIA DE COMPUTAÇÃO
PEX0242 – ESTRUTURA DE DADOS E PROGRAMAÇÃO

BIANCA STEPHANIE GUIMARÃES MORAIS

TRABALHO PRÁTICO II: DOCUMENTAÇÃO

PAU DOS FERROS/RN


2019
BIANCA STEPHANIE GUIMARÃES MORAIS

TRABALHO PRÁTICO II: DOCUMENTAÇÃO

Trabalho prático apresentado à


Universidade Federal Rural do Semi-
Árido (UFERSA) e ao Centro
Multidisciplinar de Pau dos Ferros,
como requisito para a obtenção de da
nota da terceira unidade na disciplina
Estrutura de dados e Programação.

Orientador: Prof. Me. Robson


Locatelli Macedo

PAU DOS FERROS/RN

2019
SUMÁRIO

1. IMPLEMENTAÇÃO 4

2. CONCLUSÃO 7
4

1. IMPLEMENTAÇÃO

Arvores são estruturas de dados que representam hierarquias, sendo composta


por um conjunto de nós, criando as subárvores. Sendo seu conjunto as subárvores
esquerdas e direitas, que pela ordem escolhida será impressa de forma crescente.

No trabalho foi pedido para que fosse feito um sistema de biblioteca, onde se
pudesse cadastrar, procurar, exibir e remover livro, listar acervo de livros, criar, gravar
abrir e fechar arquivos. Tudo de acordo com o visto dentro da teoria e prática da
disciplina.

Tabela 1 – Descrição das funções

main.c
void Menu_Relatorio(PONT n, FILE *arq)

TIPO & Void


ENTRADAS Estruturas: árvore e arquivos
OBJETIVO Acesso ao relatório e suas respectivas funções
CASOS DE USO Gerar relatório ou busca de ISBN no arquivo

A função recebe um inteiro para uso da escolha do usuário,


COMENTÁRIOS
que são: sair, gerar relatório e procurar ISBN no relatório.
Representando a atualização ou acesso do arquivo txt, que
contém todas as informações inseridas.
Dentro do seu funcionamento inclui outras funcionalidades,
que seria a função GravarRegistro e a função
ProcuraArquivo o ISBN no arquivo e retorna um inteiro para
informar sucesso ou falha na busca.
void GravaRegistro(PONT n, FILE *arq)

TIPO & Void


ENTRADAS Estruturas: árvore e arquivos
OBJETIVO Inserir os dados do acervo de livros no relatório
CASOS DE USO Atualizar relatório ou criar um novo

A função abre o arquivo no modo de abertura insere e


COMENTÁRIOS
escreve no final, sem apagar os arquivos anteriores.
5

Faz o teste e caso a raiz não seja nula, faz o percurso de


gravação no modo in order, em ordem crescente, ou seja,
acessa a raiz no filho da esquerda, depois na raiz principal e
depois no filho da direita.
A função chama sua recursividade gravando o primeiro
dado, sendo estes ISBN, autores, título, editora e ano. Assim
continua percorrendo até salvar por completo e quando
finalizada fecha o arquivo.
int ProcuraArquivo(long int ISBNprocurado, FILE *arq)

TIPO & Int


ENTRADAS Estruturas: árvore e arquivos
OBJETIVO
Verificar se há o ISBN procurado, gravado no relatório
CASOS DE USO
Utiliza-se quando é necessário buscar algum livro no
relatório, ou apenas verificar se foi inserido e os dados estão
atualizados
Essa função inicia abrindo o arquivo em modo de abertura
COMENTÁRIOS
apenas leitura. Tem um vetor de caracteres auxiliar que no
uso de uma função para transformar inteiros em caracteres
armazena o ISBN procurado em si.

Usando um enquanto, o vetor de caracteres procura


armazena todos os dados existentes no relatório até a
função de varredura e armazenamento de dados do arquivo
o ler por completo. Usando uma função de comparação de
caracteres o ISBN procurado é comparado com todos os
dados contidos no arquivo, caso ele seja encontrado a
função retorna o número um, caso não seja, a função
retornará o número zero. Finaliza fechando o arquivo.
void gerenciar_menu(PONT n, FILE *arq)

TIPO & Void


ENTRADAS Estruturas: árvore e arquivos
OBJETIVO Gerenciar todas as funções disponíveis no sistema de
biblioteca
CASOS DE USO O usuário pode escolher qual função deseja acessar de
forma mais simples e intuitiva.
6

COMENTÁRIO Nessa função é exibido as opções para o usuário, sua


escolha é armazenada em um inteiro, que dentro de uma
função de escolha acessa a opção desejada.
Caso o usuário escolha 1, a função cria livro é acessada,
nela o usuário vai inserir os dados do livro. Nesta mesma
função o programa verifica se já tem um ISBN inserido igual
ao que usuário digitou, caso haja, os dados não continuam a
ser inseridos e o programa volta ao menu.
Caso o usuário escolha 2, a escolha exibir livro é acessada,
dentro dela o usuário vai inserir o ISBN que ele deseja
verificar se existe, a função ProcuraLivro é chamada
recebendo os parâmetros de raiz e o número do ISBN
procurado. Essa função vai ser armazenada em um nó que
ao ser inserido na função ExibirLivro, vai imprimir na tela
todas as informações do livro, caso ele esteja no acervo.
Caso o usuário escolha 3, a função ListarAcervo vai exibir
todos os livros salvos na biblioteca.
Caso o usuário escolha 4, ele vai inserir o número do ISBN
do livro que ele deseja excluir, sendo assim um nó
armazenando a função ProcuraLivro vai retornar o endereço
desse livro, depois a função ExibirLivro vai imprimir na tela
todos os seus dados e logo após a função RemoveLivro
atualiza a raiz n.
Caso o usuário escolha 5, ele acessará o Menu Relatório.
7

2. CONCLUSÃO

O uso das funções e a construção deste trabalho foram de fundamental


importância para o entendimento do funcionamento de um sistema utilizando a
estrutura árvores, bem como sua organização interna de trabalho.

As principais dificuldades foram na montagem das funções de acordo com as


necessidades especificadas no trabalho, a utilização dos nós e de que forma eles
poderiam ser utilizados e reutilizados. Na função de remoção foi encontrada a maior
dificuldade pois seu funcionamento é complexo, testando muitas probabilidades
tornou seu entendimento complicado. Em relação as outras funções como: cria nó,
cria livro, exibe acervo, cadastra na arvore, procura na arvore, busca no nó, foram
mais simples de entendimento e desenvolvimento para atender aos requisitos do
trabalho.