Ir ao conteúdo
  • Cadastre-se

Aenderson Gonçalves

Membro Júnior
  • Posts

    12
  • Cadastrado em

  • Última visita

Reputação

5
  1. @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.
  2. @arfneto qual seria esse erro que o visual apresenta de acordo com teu codigo?
  3. @arfneto Pois é... aí fica difícil aprender mesmo, esse código foi o professor que deixou.
  4. 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 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
  5. @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"); }
  6. @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.
  7. @arfneto entendi sua colocação, to quebrando a cabeça, vendo videos mas meu codigo nao funciona mas mesmo assim muito obrigado!
  8. @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; }
  9. @arfneto não entendi amigo, desculpa! sou iniciante rs
  10. Eu coloquei como emulador por que no cabeçalho do exercício esta como emulador. Mas desde já agradeço!
  11. #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!
  12. @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

×
×
  • Criar novo...