Baixe o app para aproveitar ainda mais
Prévia do material em texto
CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER ESCOLA SUPERIOR POLITÉCNICA Analise e desenvolvimento de sistemas DISCIPLINA DE ESTRUTURA DE DADOS ATIVIDADE PRÁTICA vINICIUS POZZOBON bORIN SALTO – SP 2021 Exercício 1: Faça um algoritmo em linguagem C que emule as características de um player de músicas sendo executado em modo texto, via prompt de comando. 1. Deve-se criar uma playlist das músicas utilizando uma lista encadeada. A lista encadeada poderá ser simples ou dupla, circular ou não circular. Fica a critério do aluno decidir. 2. Deve-se armazenar o nome de cada música, do artista/banda e a duração da faixa. Para o armazenamento utilize uma estrutura heterogênea de dados. 3. Para inserção dos dados, você pode criar uma leitura dos dados através de um menu na tela ou já deixá-los armazenados em um arquivo texto no seu computador e só carregar este arquivo ao executar o programa. Ou ambas soluções. Decida também como você irá implementar a inserção (no início, no fim ou no meio da lista encadeada); 4. Deve existir um menu na tela. Este menu deve permitir a inserção de novas músicas (caso optado pela inserção manual de dados), deve ter a opção de listar todas as músicas da playlist (listagem de uma lista encadeada) na tela e encerrar o programa; #include <stdio.h> #include <stdlib.h> #include <string.h> #include <locale.h> void inserirMusica();//void inserirMusica para iniciar o respectivo Void void mostrarLista(); struct Playlist//struct chamada Playlist para que seja salvo as informações { char musica[30], cantor[30]; float duracao; Playlist* prox; }; Playlist* inicio, * fim, * aux; int main() { setlocale(LC_ALL, "portuguese");// setlocale para coloca acentuação system("color F0");// Utilizei System Color para mudar o fundo e a cor da fonte (F fazendo o fundo "Branco" e o 0 para a fonte "Preto") int Escolha, c; do { printf("*__________________________________*\n"); printf("| Music Player UNINTER |\n"); printf("*__________________________________*\n"); printf("| 1. Inserir Música |\n"); printf("| 2. listar Músicas |\n"); printf("| 3. Sair |\n"); printf("*________________________________*\n"); printf("Escolha uma das Opções: "); scanf_s("%d", &Escolha); while ((c = getchar()) != '\n' && c != EOF) {} switch (Escolha)//Switch com 3 cases para fazer sua escolha, tendo mesma funcao base do IF { case 1: inserirMusica(); printf("\n****Sua música foi inserida com sucesso!!****\n\n"); system("pause"); break; case 2: mostrarLista(); system("pause"); break; case 3: printf("\nO programa foi encerrado com sucesso!!\n\n"); system("pause"); break; default: printf("\nEscolha Invalida!!\n\n"); system("pause"); break; } system("cls");// cls usado para limpar a tela do usuario } while (Escolha != 3); return 0; } void inserirMusica()// void que dara o codigo pra inserir a música { int c; Playlist* novo = (struct Playlist*)malloc(sizeof(struct Playlist));//malloc para salvar na struct printf("\nQual é a música?\n\n "); fgets(novo->musica, 39, stdin);// fgets salvando a musica informado pelo usuario printf("De quem é a música?\n\n "); fgets(novo->cantor, 39, stdin); printf("Qual a duração da música?\n\n "); scanf_s("%f", &novo->duracao); while ((c = getchar()) != '\n' && c != EOF) {} novo->prox = NULL; if (inicio == NULL) { inicio = fim = novo; } else { fim->prox = novo; fim = novo; } } void mostrarLista()// void para Mostrar a lista que voce salvou de musica { aux = inicio; if (inicio == NULL) { printf("\nA lista esta vazia!");// caso nao tenha nada salvo na lista } else { while (aux != NULL)// se for diferente de NULL e algo estiver salvo, ira informar o que esta salvo { printf("\n\n-> Nome da Música: %s", aux->musica); printf("-> Cantor: %s", aux->cantor); printf("-> A Duração é: %.2f Min", aux->duracao); printf("\n___________________________"); aux = aux->prox; } } printf("\n\n"); } Exercicio 2 Faça um algoritmo em linguagem C que realiza a busca de um aluno da UNINTER no AVA. A busca deve ser realizada utilizando uma estrutura de dados bastante eficiente para esta tarefa de busca. Dentre as estruturas que podem ser empregados estão: árvore binária ou hash. 1. Deve-se armazenar o nome do aluno, seu e-mail e seu RU. Para o armazenamento utilize uma estrutura heterogênea de dados. 2. Não é necessário fazer a leitura dos dados dos dados dos alunos manualmente. Você já pode deixar pré-cadastrado os dados no seu código. Cadastre pelo menos uns 10 contatos de alunos na sua estrutura de dados. Um dos contatos deverá ser o seu próprio nome e o seu RU da UNINTER; 3. Em um menu na tela, peça para o usuário digitar um RU. O programa deverá realizar a busca por este RU na estrutura de dados e, caso localize o RU, deverá mostrar o nome correspondente do aluno e o e-mail deste contato. Caso não localize, uma mensagem de erro deve ser apresentada. 4. Para testar o programa, teste a busca com o seu RU e coloque a captura de dela. #include<stdio.h> #include<stdlib.h> #include<string> int main() { int ruEscolhido;// int para o usuario informar o RU que quer buscar typedef struct {// struct criada para fazer o banco de dados de Contatos char nome[40]; int ru; char email[100]; }Aluno;// struct nomeada de Alunos Aluno aluno1{ "Vinicius",// Primeira linha informando o nome 3314503,// Segunda informando o RU "viniciusbonanni01@gmail.com"// Terceira informando o email assim em contato por contato para ser cadastrado }; Aluno aluno2{ "Alan", 0123456, "Alan@gmail.com" }; Aluno aluno3{ "Carlos", 1234567, "Carlos@gmail.com" }; Aluno aluno4{ "Lucas", 2345678, "Lucas@gmail.com" }; Aluno aluno5{ "Maria", 3456789, "Maria@gmail.com" }; Aluno aluno6{ "Ronaldo", 4567891, "ronaldo@gmail.com" }; Aluno aluno7{ "Rosana", 5678912, "Rosana@gmail.com" }; Aluno aluno8{ "Marcela", 6789123, "Marcela@gmail.com" }; Aluno aluno9{ "Maria Eduarda", 7891234, "Mariaeduarda@gmail.com" }; Aluno aluno10{ "Claudete", 8912345, "Claudete@gmail.com" }; printf("Digite o RU do aluno: ");// printf para solicitar o RU que deseja buscar scanf_s("%i", &ruEscolhido);// Pegar o RU informado e salva em ruEscolhido para ser feita a busca no banco de dados if (ruEscolhido == aluno1.ru) {// se o RU que o usuario informa foi igual o RU do Aluno1 ele informara todas as informacoes do aluno 1 printf("\nO nome do Aluno e: %s\n", aluno1.nome); printf("O RU do Aluno e: %i\n", aluno1.ru); printf("O email do Aluno e: %s\n\n", aluno1.email); printf("___________________________________________\n\n"); } else {// caso nao seja igual ele ira procurar no aluno2 e assim por diante ate o aluno 10 if (ruEscolhido == aluno2.ru) { printf("\nO nome do Aluno e: %s\n", aluno2.nome); printf("O RU do Aluno e: %i\n", aluno2.ru); printf("O email do Aluno e: %s\n\n", aluno2.email); printf("___________________________________________\n\n"); } else { if (ruEscolhido == aluno3.ru) { printf("\nO nome do Aluno e: %s\n", aluno3.nome); printf("O RU do Aluno e: %i\n", aluno3.ru); printf("O email do Aluno e: %s\n\n", aluno3.email); printf("___________________________________________\n\n"); } else { if (ruEscolhido == aluno4.ru) { printf("\nO nome do Aluno e: %s\n", aluno4.nome); printf("O RU do Aluno e: %i\n", aluno4.ru); printf("O email do Aluno e: %s\\n\n", aluno4.email); printf("___________________________________________\n\n"); } else { if (ruEscolhido == aluno5.ru) { printf("\nO nome do Aluno e: %s\n", aluno5.nome); printf("O RU do Aluno e: %i\n", aluno5.ru); printf("O email do Aluno e: %s\n\n", aluno5.email); printf("___________________________________________\n\n"); } else { if (ruEscolhido == aluno6.ru) { printf("\nOnome do Aluno e: %s\n", aluno6.nome); printf("O RU do Aluno e: %i\n", aluno6.ru); printf("O email do Aluno e: %s\n\n", aluno6.email); printf("___________________________________________\n\n"); } else { if (ruEscolhido == aluno7.ru) { printf("\nO nome do Aluno e: %s\n", aluno7.nome); printf("O RU do Aluno e: %i\n", aluno7.ru); printf("O email do Aluno e: %s\n\n", aluno7.email); printf("___________________________________________\n\n"); } else { if (ruEscolhido == aluno8.ru) { printf("\nO nome do Aluno e: %s\n", aluno8.nome); printf("O RU do Aluno e: %i\n", aluno8.ru); printf("O email do Aluno e: %s\n\n", aluno8.email); printf("___________________________________________\n\n"); } else { if (ruEscolhido == aluno9.ru) { printf("\nO nome do Aluno e: %s\n", aluno9.nome); printf("O RU do Aluno e: %i\n", aluno9.ru); printf("O email do Aluno e: %s\n\n", aluno9.email); printf("___________________________________________\n\n"); } else { if (ruEscolhido == aluno10.ru) { printf("\nO nome do Aluno e: %s\n", aluno10.nome); printf("O RU do Aluno e: %i\n", aluno10.ru); printf("O email do Aluno e: %s\n\n", aluno10.email); printf("___________________________________________\n\n"); } else {// caso nao ache em nenhum dos alunos ele ira informar uma mensagem que nao foi encontrado printf("\n\n--------Esse RU nao esta no Banco De Dados -----------\n\n"); }; } } } } } } } } } system("pause"); return 0; } Imagem do Código Funcionando Com o RU “3314503”
Compartilhar