@Lucca Rodrigues
Esse é o enunciado.
1. A partir do TAD lista, escreva uma função que receba um ponteiro de vetor de int e seu tamanho, e o converta em uma lista de float. Se o vetor estiver vazio, deve retornar uma lista vazia. A função segue o protótipo:
Em um código cliente, aloque o vetor dinamicamente, atribua valores a ele, utilize a função acima e imprima na tela a lista criada.
2. Você foi contratado para desenvolver um software de cadastro de uma grande empresa varejista. A empresa não lhe repassou exatamente o que será cadastro (livros, produtos em geral, clientes), portanto, você decidiu dar um passo à frente e desenvolver um sistema simples por conta própria, para demonstrar suas capacidades. O software que você decidiu fazer utiliza uma estrutura dinâmica para armazenar os dados – mais especificamente, uma lista encadeada. O tipo de dado armazenado fica a seu critério, sendo que você deve definir um tipo, o qual ficará armazenado na lista da seguinte forma:
struct listano2 {
Tipo* info;
ListaNo* ant;
ListaNo* prox;
};
Ou seja, os nós da lista duplamente encadeada devem conter um dado individual do tipo que você escolher. O tipo criado deve ter, no mínimo, 3 membros. Crie uma segunda lista, chamada “lixeira”, para onde vão os itens removidos.
Para que seu programa se mostre mais interativo, você decidiu fazer um menu interativo, onde o usuário tem a opção de: cadastrar novo item, buscar um item baseado em algum critério (você escolhe quais), remover um item baseado em algum critério (você escolhe quais), remover n itens dentro de um intervalo (ex: do 1 ao 4), imprimir a lista inteira (exibir mensagem se vazia), imprimir dentro de um intervalo,
apagar a lista inteira (exibir mensagem se vazia) liberando sua memória, imprimir a lixeira (exibir mensagem se vazia), esvaziar a lixeira liberando sua memória.
DICAS:
• Use switch-case e separe cada opção do menu em uma função específica;
• Tipo* info é um ponteiro do tipo que você vai criar, portanto lembre-se que
o acesso é feito por ->;
• Use a função system(“cls”) da biblioteca <windows.h> para limpar a tela
após cada procedimento para a leitura ficar mais clara;
• Para leituras de strings do teclado, use as funções fflush(stdin) antes de
cada leitura e gets(nome_variável) para realizar a leitura.
@Lucca Rodrigues
não consegui criar uma logica acho que ver o exercicio resolvido e comentado pode me ajudar.