Buscar

ATIVIDADE PRÁTICA - MODELO DE RELATÓRIO

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 3, do total de 6 páginas

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes

Faça como milhares de estudantes: teste grátis o Passei Direto

Esse e outros conteúdos desbloqueados

16 milhões de materiais de várias disciplinas

Impressão de materiais

Agora você pode testar o

Passei Direto grátis

Você também pode ser Premium ajudando estudantes
Você viu 6, do total de 6 páginas

Continue navegando


Prévia do material em texto

CENTRO UNIVERSITÁRIO INTERNACIONAL UNINTER
ESCOLA SUPERIOR POLITÉCNICA
GRADUAÇÃO ANALISE E DENSEVOLVIMENTO DE SISTEMA
DISCIPLINA DE ESTRUTURA DE DADOS
ATIVIDADE PRÁTICA
LAECIO CARREIRO DE OLIVEIRA DE SOUZA – RU: 2932045
nome PROFESSOR: Vinicius Pozzobon Borin
BALSAS-MARANHÃO
2020
1. EXERCÍCIO 
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;
Solução do aluno:
 #include <stdio.h>
 #include <stdlib.h>
 #include <string.h>
 struct Play_list
 {
 char musica[30];//VARIAVEL DA STRUCT QUE ARMAZENA O NOME DA MUSICA
 char Artista[30];//VARIAVEL DA STRUCT QUE ARMAZENA NO DO ARTISTA
 float duracao;//VARIAVEL DA STRUCT QUE ARMAZENA A DURACAO
 struct Play_list *proximo;//VARIAVEL DA STRUCT PARA TER O ENDEREÇO DA PROXIMA LISTA
 };
 //FUNÇÃO QUE INICIALIZA A LISTA
 struct Play_list * cria(void)
 {
 return NULL;
 }
 
//FUNCAO QUE INSERE NA LISTA O ENCADEADA SEUS RESPECTIVOS DADOS E SEU ENDEREÇO 
 struct Play_list * insere(struct Play_list * l, char * musica, char * Artista, float duracao) {
 struct Play_list * novo = (struct Play_list *) malloc(sizeof(struct Play_list));
 strcpy(novo->musica, musica);
 strcpy(novo->Artista, Artista);
 novo->duracao = duracao;
 novo->proximo = l;
 return novo;
 
 }
//FUNCAO QUE IMPRIME OS VALORES DA LISTA
 void imprime(struct Play_list * l)
 
 {
 struct Play_list * p;
 for(p = l; p != NULL; p = p->proximo)
 
 {
 printf("Musica : %s \n", p->musica);
 printf("ARTISTA : %s \n", p->Artista);
 printf("Duracao : %.2f \n", p->duracao);
 		}
 }
//FUNCAO QUE BUSCA NA LISTA
int busca(struct Play_list * l, char * musica)
 {
 struct Play_list * p;
 int i = 1;
 for (p = l; p != NULL; p = p->proximo)
 
 {
 if (strcmp(musica, p->musica) == 0)
 
 {
 
 printf("Musica: %s %s %s \n", p->musica);
 return i;
 
 } i++;
 
 } return 0;
 
 }
 
 main(){
 char grupo[30], artista[30];
 float duracao;
 struct Play_list * l;
 char resp = 's';
 char procura[30];
 //MENU ESTILIZADA DA PLAYER
 printf(" ************************ \n");
 printf("| PLAYER |\n");
 printf("| DE |\n");
 printf("| MUSICAS |\n");
 printf("| |\n");
 printf(" ************************ \n");
 printf("\n\n");
 l = cria();
 while (resp != 'n')
 {
 printf("Qual e a Musica? \n");
 scanf("%[^\n]", grupo);
 fflush(stdin);
 printf("De quem e a musica? \n");
 scanf("%[^\n]", artista);
 fflush(stdin);
 printf("Qual e o duracao? \n");
 scanf("%f", &duracao);
 fflush(stdin);
 l = insere(l, grupo, artista, duracao);
 printf("Continua? s/n \n");
 scanf("%c", &resp);
 fflush(stdin);’
 
 }
 imprime(l);
 printf("Qual musica quer ouvir? \n");
 scanf("%s", procura); //ATRIBUIR VALOR PROCURAR
 printf("Esta musica esta na posicao %d da play list\n", busca(l, procura));
 system("pause");
 }
Imagem do código funcionando no computador:
1. Tela de cadastro
2. Exemplo de cadastro
1. EXERCÍCIO 
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.
Defina a estrutura de dados que você irá utilizar para fazer esta implementação e
JUSTIFIQUE em texto porque você escolheu ela;
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.
Solução do aluno:
 #include<stdio.h>
 #define TAM 30 //padrao para os vetores
 #include <string.h>
 #include<stdlib.h>
 
 struct AVA{
 char nome[40];
 char email[40];
 int ru;
 };
 main(){
 int count=0;//contador para saber a quantidade de registro na struct
 int i;//contador iterativo
 int op;//opcao a ser selecionado
 struct AVA a;//chamada da struct
 int buscar;//variavel de busca
 do{
 printf("---- CADASTRO DE SISTEMA UNINTER no AVA----\n\n");
 printf("1 - Cadastrar Alunos\n");//ações do menu para cadastrar contas
 printf("2 - Buscar Aluno\n");//ações do menu listar todas as contas
 printf("0 - Sair\n");//ações do menu sair
 printf("Opcao: ");
 scanf("%d", &op);//leitura da opcao selecionado
 switch(op){
 //opcao de cadastro de contas do menu
 case 1:
 printf("\n-----CADASTRO de ALUNO-----\n");
 printf("Digite o nome do aluno:");
 fflush(stdin);//funcao para apagar o buffer do teclado
 fgets(a.nome,50,stdin);
 printf("Digite o e-mail: ");
 fflush(stdin);//funcao para apagar o buffer do teclado
 fgets(a.email,50,stdin);
 printf("Digite o RU: ");
 scanf("%d",&a.ru);
 count++;
 
 break;
 //opcao de listagem do menu
 case 2:
 printf("Digite o RU para a buscar: ");
 scanf("%d",&buscar);
 
 for(i=0;i<count;i++){
 if(a.ru==buscar){
 printf("\n-----Listar Contas-----\n");
 printf("NOME DO ALUNO:%s\n",a.nome);
 printf("EMAIL DO ALUNO:%s\n",a.email);
 printf("\n-----############-----\n");
 break;
 }else{
 printf("\n-----Nenhum aluno encontrado-----\n");
 break;
 }
 }
 
 break;
 case 0:
 op=0;
 break;
 
 }//Fim do switch
 printf("\n");
 system("pause");
 system("cls");
 }while(op != 0); //FIM DO DO
 }//FIm do main
Imagem do código funcionando no computador:
1