Trabalho


6. Listas Alocadas Dinamicamente

6.1. Exercício

Implemente os algoritmos de lista encaddeada e de lista duplamente encadeada cicular para a realização da seguinte aplicação: Sistema de Informação de Linhas de Ônibus Intermunicipal.

 O sistema funcionará da seguinte forma:

 Imagine um terminal de informações em uma rodoviária onde um passageiro potencial pode se informar se existem linhas de ônibus que pasam por este terminal ou que partem dele que vão para uma cidade onde ele quer ir:

6.1.1. Forma de implementação:

Este sistema deverá armazenar a informação utilizando TADs para dois tipos de listas encadeadas diferentes:

6.1.2. Esquema de implementação:

6.1.3. O programa deve ter as seguintes opções/comportamento:

Um menu de usuário com as opções: (1) Procura Linha de Ônibus e (2) Manutenção do Programa.

 A procura da linha será feita como dito anteriormente, sendo que, quando um destino adequado é encontrado (adequado=tempo de chagada >= tempo indicado pelo usuário), o programa percorre a lista onde emncontrou o destino adequado de trás para frente até encontrar Florianópolis, para informar ao usuário o horário de saída também.

 No ponto de menu (2), o usuário só entra depois de digitar uma senha. Feito isto, o programa deverá oferecer as seguintes opções:

 1. Incluir uma nova linha, onde o usuário possuidor da senha poderá incluir uma linha dando o número e o nome da companhia, sendo criado um nodo com um apontador nulo para as paradas da linha.

 2. Incluir uma parada numa linha. Neste ponto o usuário deve dizer qual o número da linha onde quer incluir uma parada e receberá na tela um alista numerada de todas as paradas existentes nesta lista. Em seguida ele digita o número da parada após a qual ele quer inserir uma parada e inserirá a parada.

 3. Alterar uma parada. Semelhante ao ponto 2, só que o suuário vai alterar os dados da parada cujo número ele indicou.

 4. Eliminar uma parada. Semelhante a 2 e 3, só que elimina a parada indicada.

 5. Eliminar uma linha. Elimina a linha dada e todas as paradas.