-
Posts
12 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Aenderson Gonçalves
-
-
-
@arfneto Pois é... aí fica difícil aprender mesmo, esse código foi o professor que deixou.
-
Postei os tres juntos, a minha dificuldade é que o meu código não compila, sempre aparece erro atras de erro
adicionado 3 minutos depois6 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
-
@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"); }
-
@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. -
@arfneto entendi sua colocação, to quebrando a cabeça, vendo videos mas meu codigo nao funciona mas mesmo assim muito obrigado!
-
@arfneto Ah sim, no caso eu poderia ter declarado só na primeira linha? já seria o suficiente? seria isso?
struct ListaArtista { inicio, * meio, * fim* aux; char musica[50], Cantor[50]; float duracao; ListaArtista* prox; }
- 1
-
@arfneto não entendi amigo, desculpa! sou iniciante rs
- 1
-
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!
- 1
-
#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!
- 1
-
@Alisson Neres Olá Boa noite, estou acom dificuldade nesse mesmo codigo, consegue me ajudar?
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
Emulador de um player em linguagem C
em C/C#/C++
Postado
@arfneto É que eu to na faculdade a 6 meses só e só tive que desenvolver um outro código e bem simples...
e eu uso o devC++ também, as vezes da errado no visual, coloco no dev e roda de boa! Mas muito muito obrigado pelas dicas e aprendizagens.