·

Sistemas de Informação ·

Estrutura de Dados

Send your question to AI and receive an answer instantly

Ask Question

Preview text

INSTITUTO FEDERAL FLUMINENSE IFF Campus Itaperuna Prof Leandro Fernandes dos Santos leandrofsantosiffedubr Disciplina Estruturas de Dados Lista de Exercício Avaliativa 2 Turma Sistemas de Informação 3º Período Objetivo O presente exercício avaliativo tem por objetivo consolidar os conceitos sobre alocação dinâmica de memória manipulação de arquivos e tipos definidos pelo programador Observações e regras de entrega Esta atividade deverá ser realizada de forma individual Terá o valor de 15 pontos na composição da nota da A1 A solução deverá ser enviada por meio da plataforma runcodes até as 23h59min do dia 07122022 Pontos importantes a serem seguidos Conformidade com os requisitos aqui apresentados Uso dos conceitos de modularização Códigos bem estruturados e bem indentados Caso seja detectada a ocorrência de plágio será atribuída nota zero a todos os envolvidos Submissões que apresentarem erros de compilação ou falhas de segmentação no runcodes NÃO serão corrigidas O não atendimento dos requisitos especificados neste documento acarretará em perda de pontos Instituto Federal FluminenseIFF Campus Itaperuna Especificacao Gerenciando contatos Escreva um programa em linguagem C que realize a leitura dos dados de contatos de usuarios fictıcios Estes dados estao armazenados no arquivo contacts datasetdat fornecido jun tamente com esta especificacao Neste arquivo os dados estao dispostos linha a linha Cada linha contem as seguintes informacoes Id Nome Telefone Email Ao ser iniciado seu programa devera ler o caminho para o arquivo com um simples scanf e posteriormente solicitar o numero de contatos numCont a serem lidos tambem atraves de um simples scanf Existem exatamente 100 registros no arquivo portanto o valor lido devera estar entre 1 numCont 100 Nesta atividade vocˆe utilizara um vetor de estruturas structs que devera ser alocado dinami camente de acordo com a quantidade fornecida pelo usuario relacionada ao numero de contatos a serem lidos O vetor devera ser do tipo TContato e servira para armazenar os dados dos respectivos contatos Devera existir uma funcao para cada uma das seguintes tarefas Alocar o vetor e retornar um ponteiro valido para o mesmo Realizar a leitura dos dados no arquivo e adicionar os contatos no vetor Remover um contato do vetor Neste caso a funcao devera receber por parˆametro o id do contato a ser excluıdo Mostrar os dados dos contatos ordenados por id identificador Para a realizar a ordenacao dos contatos no vetor o algoritmo quicksort tambem fornecido juntamente com esta especificacao devera ser utilizado 2 Instituto Federal FluminenseIFF Campus Itaperuna Observacoes importantes Seu programa devera liberar toda e qualquer memoria previamente alocada de forma dinˆamica O usuario devera ser informado com uma mensagem de Arquivo nao encontrado se fornecer um nomecaminho de arquivo inexistente Neste caso o programa devera ser imediatamente finalizado Abaixo seguem alguns exemplos de como seu programa devera se comportar contatos homeusuarioDesktoparquivodat 10 Arquivo nao encontrado contatos homeusuarioDesktoparquivodat 0 O valor informado deve estar dentro do intervalo 1 x 100 contatos homeusuarioDesktoparquivodat 1 O valor informado deve estar dentro do intervalo 1 x 100 contatos homeusuarioDesktoparquivodat 101 O valor informado deve estar dentro do intervalo 1 x 100 contatos homeusuarioDesktopcontacts datasetdat 5 Bom Trabalho 3