Este repositório contém um programa desenvolvido como projeto bônus da disciplina de Programação Imperativa da PUCPR. O objetivo do programa é gerenciar uma lista encadeada de registros de carros a partir de um arquivo de entrada e permitir ao usuário realizar diversas operações sobre essa lista.
-
Leitura e Organização dos Dados
- O programa lê os registros de carros a partir de um arquivo texto chamado
dados.txt
. - Cada registro de carro contém:
- Marca
- Modelo
- Ano de fabricação
- Kilometragem
- Preço
- O programa lê os registros de carros a partir de um arquivo texto chamado
-
Estrutura de Dados
- Os registros de carros são armazenados em uma lista encadeada em ordem crescente com base no preço dos carros.
-
Operações Disponíveis
- Exibir a lista completa de registros: Mostra todos os carros presentes na lista, ordenados por preço.
- Filtrar por marca: Exibe todos os carros de uma marca específica fornecida pelo usuário.
- Filtrar por faixa de preço: Mostra todos os carros cujo preço esteja dentro de uma faixa especificada pelo usuário.
- Inserir novo registro: Permite ao usuário inserir um novo registro de carro na lista, garantindo que a ordem crescente por preço seja mantida.
- Remover carros por kilometragem: Remove todos os carros da lista cuja kilometragem seja superior a um valor fornecido pelo usuário.
- Sair do programa: Encerra a execução do programa.
-
Requisitos Técnicos
- Utilização de memória dinamicamente alocada (heap) para a lista encadeada, com funções
malloc
efree
. - O arquivo
dados.txt
contém pelo menos 10 registros de carros.
- Utilização de memória dinamicamente alocada (heap) para a lista encadeada, com funções
Para executar o programa, compile o código-fonte em C e execute o arquivo compilado. Durante a execução, siga as instruções no terminal para interagir com as operações disponíveis.
main.c
: Implementação do programa principal em C.../dados/dados.txt
: Arquivo de entrada com os registros de carros.
Considerando um exemplo simplificado do arquivo dados.txt
:
- Honda HRV EX 2022 15000 95000.00
- Renault Sandero Stepway 2023 20000 60000.00
- Toyota Yaris XLS 2020 60000 80000.00
- Ford Focus SE 1.6 2024 0 100000.00
A lista encadeada correspondente, mantida em ordem crescente pelo preço, seria visualizada no programa da seguinte forma:
- Renault Sandero Stepway 2023 20000 60000.00
- Toyota Yaris XLS 2020 60000 80000.00
- Honda HRV EX 2022 15000 95000.00
- Ford Focus SE 1.6 2024 0 100000.00
Para compilar o programa em C (supondo que o arquivo principal se chame main.c
e o compilador seja gcc
):
gcc main.c -o programa
Para executar o programa compilado:
./programa
Contribuições são bem-vindas! Sinta-se à vontade para enviar sugestões e melhorias através de pull requests.