Ir ao conteúdo
  • Cadastre-se

Aenderson Gonçalves

Membro Júnior
  • Posts

    12
  • Cadastrado em

  • Última visita

posts postados por Aenderson Gonçalves

  1. Postei os tres juntos, a minha dificuldade é que o meu código não compila, sempre aparece erro atras de erro 

    adicionado 3 minutos depois
    6 minutos atrás, arfneto disse:

    Vou ler esse código...

     

    E sobre a primeira pergunta? Qual seria a dificuldade?

     código que você me apresentou eu copiei e colei no visual studio ele não rodou, eu tentando encontrar o erro acabei piorando e não conseguir executar de jeito nenhum

  2. @arfneto Na aula pratica dois tem tres tipo de codigos diferentes, mas nenhum deles roda no meu visual studio.

     

    sao eles:

    Com Lista
      
      #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    
    struct QUEUE
    {
    	int dado;
    	QUEUE *prox;
    }*Head = NULL, *Tail = NULL;
    
    void queue(int valor);
    void dequeue();
    void display();
    
    int main()
    {
    	int op, valor, c;
    
    	while (1) {
    
    		system("cls");
    		printf("\n****** MENU ******\n");
    		printf("1. Colocar na Fila\n2. Remover da Fila\n3. Listar\n4. Sair\n");
    
    		printf("Escolha sua opcao: ");
    		scanf_s("%d", &op);
    		while ((c = getchar()) != '\n' && c != EOF) {}
    
    		switch (op) {
    		case 1:
    			printf("Digite um valor para ser inserido: ");
    			scanf_s("%d", &valor);
    			while ((c = getchar()) != '\n' && c != EOF) {}
    			queue(valor); //insere no fim da fila
    			break;
    		case 2:
    			dequeue(); //remove no inicio da fila
    			break;
    		case 3:
    			display();
    			break;
    		case 4:
    			exit(0);
    		default:
    			printf("\nDigite outra opcao.\n");
    		}
    	}
    
    	system("pause");
    	return 0;
    
    }
    void queue(int valor)
    {
    	QUEUE *NovoElemento;
    	NovoElemento = (struct QUEUE*)malloc(sizeof(struct QUEUE));
    	NovoElemento->dado = valor;
    
    	NovoElemento->prox = NULL;
    	if (Head == NULL)
    	{
    		Head = NovoElemento;
    		Tail = NovoElemento;
    	}
    	else //insere depois do Head
    	{
    		Tail->prox = NovoElemento;
    		Tail = NovoElemento;
    	}
    	printf("\nInserido com sucesso.\n");
    }
    void dequeue()
    {
    	QUEUE *ElementoVarredura = Head;
    
    	if (Head == NULL)
    		printf("\nFila vazia.\n");
    	else
    	{
    		Head = Head->prox;
    		printf("\nElemento Deletado: %d\n", ElementoVarredura->dado);
    		free(ElementoVarredura);
    	}
    	system("pause");
    }
    void display()
    {
    	QUEUE *ElementoVarredura = Head;
    
    	if (Head == NULL)
    		printf("\nFila vazia!!!\n");
    	else {
    
    		while (ElementoVarredura->prox != NULL) {
    			printf("%d--->", ElementoVarredura->dado);
    			ElementoVarredura = ElementoVarredura->prox;
    		}
    		printf("%d--->NULL", ElementoVarredura->dado);
    	}
    	printf("\n");
    	system("pause");
    }
    
    Simples:
    
    #include<stdio.h>							   
    #include<stdlib.h>
    
    int menu();
    void InserirInicio(int num);
    void InserirFim(int num);
    void InserirMeio(int num, int posicao);
    int Remover(int num);
    void Listar();
    
    struct ElementoDaLista_Simples {
    	int dado;
    	struct ElementoDaLista_Simples *prox;
    } *Head;
    
    int  main() {
    	int op, num, pos, c;
    	Head = NULL;
    
    	while (1) {
    		op = menu();
    		switch (op) {
    		case 1:
    			printf("Digite o numero desejado: ");
    			scanf_s("%d", &num);
    			while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado.
    			InserirInicio(num);
    			break;
    		case 2:
    			printf("Digite o numero desejado: ");
    			scanf_s("%d", &num);
    			while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado.
    			InserirFim(num);
    			break;
    		case 3:
    			printf("Digite o numero desejado: ");
    			scanf_s("%d", &num);
    			while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado.
    			printf("Digite a posicao que deseja inserir: ");
    			scanf_s("%d", &pos);
    			while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado.
    			InserirMeio(num, pos);
    			break;
    		case 4:
    			int res;
    			printf("Digite o numero a ser removido: ");
    			scanf_s("%d", &num);
    			while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado.
    			res = Remover(num);
    			if (res == 1)
    				printf("Numero removido.");
    			else
    				printf("Numero nao encontrado.");
    			break;
    		case 5:
    			Listar();
    			break;
    		case 6:
    			return 0;
    		default:
    			printf("Invalido\n");
    		}
    	}
    	return 0;
    }
    
    int menu() {
    	int op, c;
    	system("Cls");
    
    	printf("1.Inserir no inicio da lista encadeada simples\n");
    	printf("2.Inserir no fim da lista encadeada simples\n");
    	printf("3.Inserir no meio da lista encadeada simples\n");
    	printf("4.Remover da lista encadeada simples\n");
    	printf("5.Listar a lista encadeada simples\n");
    	printf("6.Sair\n");
    	printf("Digite sua escolha: ");
    
    	scanf_s("%d", &op);
    	while ((c = getchar()) != '\n' && c != EOF) {} // sempre limpe o buffer do teclado.
    	
    	system("Cls");
    	return op;
    }
    
    void InserirInicio(int num)
    {
    	ElementoDaLista_Simples *NovoElemento;
    	NovoElemento = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples));
    	NovoElemento->dado = num;
    
    	if (Head == NULL)
    	{
    		Head = NovoElemento;
    		Head->prox = NULL;
    	}
    	else
    	{
    		NovoElemento->prox = Head;
    		Head = NovoElemento;
    	}
    }
    
    void InserirFim(int num)
    {
    	ElementoDaLista_Simples *NovoElemento;
    	NovoElemento = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples));
    	ElementoDaLista_Simples *ElementoVarredura;
    	ElementoVarredura = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples));
    
    	NovoElemento->dado = num;
    
    	if (Head == NULL)
    	{
    		Head = NovoElemento;
    		Head->prox = NULL;
    	}
    	else
    	{
    		ElementoVarredura = Head;
    		while (ElementoVarredura->prox != NULL)
    			ElementoVarredura = ElementoVarredura->prox;
    
    		ElementoVarredura->prox = NovoElemento;
    		NovoElemento->prox = NULL;
    	}
    }
    
    void InserirMeio(int num, int posicao)
    {
    	ElementoDaLista_Simples *NovoElemento;
    	NovoElemento = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples));
    	ElementoDaLista_Simples *ElementoVarredura;
    	ElementoVarredura = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples));
    	ElementoDaLista_Simples *ElementoAuxiliar;
    	ElementoAuxiliar = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples));
    
    	NovoElemento->dado = num;
    
    	if (posicao == 0)
    	{
    		Head = NovoElemento;
    		Head->prox = NULL;
    	}
    	else
    	{
    		ElementoVarredura = Head;
    		for (int i = 0; i < posicao - 1; i++)
    			ElementoVarredura = ElementoVarredura->prox;
    
    		ElementoAuxiliar = ElementoVarredura->prox;
    		ElementoVarredura->prox = NovoElemento;
    		NovoElemento->prox = ElementoAuxiliar;
    	}
    }
    
    int Remover(int num)
    {
    	ElementoDaLista_Simples *ElementoVarredura;
    	ElementoVarredura = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples));
    	ElementoDaLista_Simples *Anterior;
    	Anterior = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples));
    
    	ElementoVarredura = Head;
    	while (ElementoVarredura != NULL) {
    		if (ElementoVarredura->dado == num) {
    			if (ElementoVarredura == Head) {
    				Head = ElementoVarredura->prox;
    				free(ElementoVarredura);
    				return 1;
    			}
    			else {
    				Anterior->prox = ElementoVarredura->prox ;
    				free(ElementoVarredura);
    				return 1;
    			}
    		}
    		else {
    			Anterior = ElementoVarredura;
    			ElementoVarredura = ElementoVarredura->prox;
    		}
    	}
    	return 0;
    }
    
    void Listar()
    {
    	ElementoDaLista_Simples *ElementoVarredura;
    	ElementoVarredura = (struct ElementoDaLista_Simples *)malloc(sizeof(struct ElementoDaLista_Simples));
    
    	ElementoVarredura = Head;
    	if (ElementoVarredura == NULL) {
    		return;
    	}
    	while (ElementoVarredura != NULL) {
    		printf("%d ", ElementoVarredura->dado);
    		ElementoVarredura = ElementoVarredura->prox;
    	}
    	printf("\n");
    
    	system("pause");
    	return;
    }
    
    Pilha com Lista
      
      #include<stdio.h>
    #include<conio.h>
    #include<stdlib.h>
    
    struct STACK
    {
    	int dado;
    	STACK *prox;
    }*top = NULL;
    
    void push(int value);
    void pop();
    void display();
    
    int main()
    {
    	int op, value, c;
    
    	while (1) {
    		system("cls");
    		printf("\n****** MENU ******\n");
    		printf("1. Empilhar/Push\n2. Desempilhar/Pop\n3. Listar\n4. Sair\n");
    
    		printf("Escolha sua opcao: ");
    		scanf_s("%d", &op);
    		while ((c = getchar()) != '\n' && c != EOF) {}
    
    		switch (op) {
    		case 1:
    			printf("Digite um valor para ser inserido: ");
    			scanf_s("%d", &value);
    			while ((c = getchar()) != '\n' && c != EOF) {}
    			push(value); //empilha
    			break;
    		case 2:
    			pop(); //desempilha
    			break;
    		case 3:
    			display();
    			break;
    		case 4:
    			exit(0);
    		default:
    			printf("\nDigite outra opcao.\n");
    		}
    	}
    
    	system("pause");
    	return 0;
    
    }
    void push(int value)
    {
    	STACK *NovoElemento;
    	NovoElemento = (struct STACK*)malloc(sizeof(struct STACK));
    	NovoElemento->dado = value;
    
    	if (top == NULL)
    		NovoElemento->prox = NULL;
    	else
    		NovoElemento->prox = top;
    	top = NovoElemento;
    	printf("\nInserido com sucesso.\n");
    }
    void pop()
    {
    	if (top == NULL)
    		printf("\nPilha vazia.\n");
    	else {
    		STACK *temp = top;
    		printf("\nElemento Eletado: %d", temp->dado);
    		top = temp->prox;
    		free(temp);
    	}
    	printf("\n");
    	system("pause");
    }
    void display()
    {
    	STACK *ElementoVarredura = top;
    
    	if (top == NULL)
    		printf("\nPilha vazia!!!\n");
    	else {
    		
    		while (ElementoVarredura->prox != NULL) 
    		{
    			printf("%d\n", ElementoVarredura->dado);
    			ElementoVarredura = ElementoVarredura->prox;
    		}
    		printf("%d\n", ElementoVarredura->dado);
    	}
    	system("pause");
    	
    }

     

     

  3. @arfneto Sim.. muito boa sua explicação, fico muito grato em estar disponibilizando do seu tempo pra me ajudar, estava vendo o vídeo por que no enunciado da minha questão pede pra ver, não consegui aplicar seu código com o enunciado do meu exercício só isso.Vou te mostrar o enunciado........

     

    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;
    Utilize como base o código de listas da AULA PRÁTICA 2 da disciplina.

  4. 12 minutos atrás, arfneto disse:

    Olá!

     

    Não é bem um emulador de player, certo? Apenas um gerenciador de playList parece.

     

    Sempre escrevo isso, então:

     


    Do jeito que fez não vai dar. Depois te mostro um exemplo.

     

    Vou tentar compilar seu programa...

     

    Eu coloquei como emulador por que no cabeçalho do exercício esta como emulador.

    Mas desde já agradeço!

    • Curtir 1
  5. #include <stdlib.h>
    #include <stdio.h>
    #include <string.h>
    #include <locale.h>
    
    struct ListaArtista {
    	char musica[50], Cantor [50];
    	float duracao;
    	ListaArtista* prox;
    }; ListaArtista* inicio, * meio, * fim* aux;
    
    void inserirmusica() {
    	int c;
    	ListaArtista* novo = (struct ListaArtista*) malloc(sizeof(struct ListaArtista));
    	printf("\nescolha amusica");
    	fgets(novo->musica, 49, stdin);
    
    	printf("nome do Cantor");
    	fgets(novo->cantor, 49, stdin);
    
    	printf("tempo total da musica");
    	scanf(| "%f", &novo->tempo);
    
    
    	while ((c = getchar()) != '\n' && c != EOF{} // Retirar buffer teclado 
    
    	novo->prox = NULL;
    
    	if (inicio == NULL)
    }
    inicio = fim = novo;
    
    }
    else {
    fim->prox = novo;
    fim = novo;
    }
    }
    void LimparLista() {
    	char ch;
    	if (inicio == NULL) {
    		printf("\nLista");
    	}
    	else {
    		printf("s\n");
    		ch = gecthar();
    		if (ch == 's' || ch == 's') {
    			while inicio->prox;
    			free(aux);
    		}
    		printf("\nLista vazia");
    	}
    }
    }
    void VizualizarLista() {
    
    	aux = inicio;
    	if (inicio == NULL)
    }
    printf("\n Lista vazia!");
    }
    else {
    while (aux != NULL) {
    	printf("musica:%s", aux->musica);
    	printf("cantor:%s", aux->cantor);
    	printf("tempo: %f \n", aux = > tempo);
    	aux = aux->prox;
    }
    }
    print('\n');
    }
    void BuscarMusica()
    {
    	aux + inicio;
    	if (inicio == NULL)
    }
    printf("\nLista vazia");
    }
    else
    {
    char musica[50];
    printf("Digite a faixa:");
    scanf("%s", &aux);
    while (aux != NULL)
    }
    if (musica == aux->musica) {
    	printf("\n musica %s localizada" aux->musica);
    	printf("musica %s", aux->musica);
    	printf("cantor: %s", aux->cantor);
    	return;
    }
    else {
    	aux = aux->prox;
    }
    }
    if (aux == NULL) {
    	printf("\n Sorry \nMusica %s nao localizada!", musica);
    }
    printf("\n");
    int main() {
    	setlocale(LC_ALL, "");
    	int opc, c;
    	do {
    		printf("1.Inserir musica\n");
    		printf("2.Buscar musica\n");
    		printf("3.Ver Lista\n");
    		printf("Apagar Lista\n");
    		printf("Sair\n");
    		printf("Marque a opção");
    		scanf_s("%d", &opc);
    
    		while ((c == getchar()) != 'n' && c != EOF) {}
    		switch (opc) {
    		case 1:
    			inserirMisica();
    			system("pause");
    			break;
    		case 2:
    			BuscarMusica();
    			system("pause");
    			break;
    		case 3:
    			VerLista();
    			system("pause");
    			break;
    		case 4:
    			ApagarLista();
    			system("pause");
    			break;
    		case 5:
    			exit;
    			break;
    		defalt:
    			printf("Nenhuma opcao selecionada");
    			break;
    		}
    		system("cls");
    	} while (opc != 5);
    	return 0;
    }

    Boa Tarde, preciso desenvolver um player em linguagem C e estou com dificuldade na hora de compilar, vários erros. alguém pode me ajudar?

     

    meu código! É um trabalho para a faculdade!

    • Curtir 1

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

 

GRÁTIS: ebook Redes Wi-Fi – 2ª Edição

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!