Este projeto consiste na implementação de um sistema de gerenciamento de estoque para uma loja de varejo, utilizando árvores binárias em C. A seguir estão as especificações das funcionalidades a serem implementadas:
- Cada nó da árvore deve representar um produto, com os seguintes campos: código do produto, nome do produto, quantidade em estoque e preço unitário.
- Implementar uma função para inserir um novo produto na árvore, mantendo-a balanceada. A árvore deve ser mantida balanceada para que não esteja desbalanceada em mais de 1 nível.
- Implementar uma função para remover um produto da árvore, garantindo que a estrutura seja atualizada para manter a propriedade da árvore binária.
- Implementar uma função para buscar um produto na árvore pelo seu código.
- Implementar uma função para listar todos os produtos com uma quantidade menor que a informada pelo usuário.
- Implementar uma função para listar todos os produtos em uma faixa de preço especificada pelo usuário.
- Implementar uma função para calcular o valor total do estoque da loja.
- Garantir que não é possível inserir produtos com códigos duplicados na árvore, nem quantidades ou preços menores que zero.
- Implementar uma opção de geração automática e aleatória de uma árvore balanceada com 07 elementos.
- Implementar uma maneira de exibir a árvore de maneira intuitiva no console.