Soratari
-
Posts
4 -
Cadastrado em
-
Última visita
Tipo de conteúdo
Artigos
Selos
Fabricantes
Livros
Cursos
Análises
Fórum
posts postados por Soratari
-
-
28 minutos atrás, LuisOPsum disse:
Olá!
O teste que eu tinha feito usando o "scanf" foi pelo DevC++, que funcionou sem problema, e claro que você esta usando o Visual Studio, pensei que também e a funcionar sem problema. Outra que eu tava sem esse programa, ai eu tive que instalar na minha maquina e resolver de forma transparente. O que eu fiz foi só usar o"using namespace std;", e um pouco abaixo das bibliotecas, lá em "inte main" bem lá abaixo, eu adicionei "int argc, char* argv[]", e bem no fim, adicionei o " system("PAUSE");
return EXIT_SUCCESS;", e o executável é gerado sem problema.Quanto a outra dúvida, o conteúdo do @KXSY é bem mais produtivo!
#include<stdio.h> #include<stdlib.h> #include<locale.h> #include<string.h> using namespace std; struct playlist_musical { char musica[50], cantor[50]; float tempo; struct playlist_musical* prox; }; struct playlist_musical* inicio, * meio, * fim, * aux; void inserirmusica() { int c; playlist_musical* novo = (struct playlist_musical*) malloc(sizeof(struct playlist_musical)); printf("Selecione a musica\n"); fgets(novo->musica, 49, stdin); printf("Selecione o artista"); fgets(novo->cantor, 49, stdin); printf("Duracao da musica"); scanf_s("%f", &novo->tempo); while ((c = getchar()) != 'n' && c != EOF) {} novo->prox = NULL; if (inicio == NULL) { inicio = fim = novo; } else { fim->prox = novo; fim = novo; } } void limpar_lista() { char ch; if (inicio == NULL) { printf("\nLista"); } else { printf("s\n"); ch = getchar(); if (ch == 's'); while (inicio != NULL) { aux = inicio; inicio = inicio->prox; free(aux); // limpar memoria } printf("\n Lista vazia"); } } void visualizar_lista() { aux = inicio; if (inicio == NULL) { printf("\n Lista Vazia"); } else { while (aux != NULL) { printf("musica:%s", aux->musica); printf("cantor:%s", aux->cantor); printf("duracao: %f\n", aux->tempo); aux = aux->prox; } } } void procurar_musica() { aux = inicio; if (inicio == NULL) { printf("\n Lista vazia"); } else { char musica[50]; printf("Digiete a faixa:"); scanf_s("%s", &aux); while (aux != NULL) { if (musica == aux->musica) { printf("\n Musica %s encontrada\n", aux->musica); printf("musica: %s", aux->musica); printf("cantor:%s\n", aux->cantor); return; } else { aux = aux->prox; } } if (aux == NULL) { printf("\n Musica %s nao encontrada", musica); } } printf("\n"); } int main(int argc, char* argv[]) { setlocale(LC_ALL, ""); int opc, c; do { printf("1 Inserir Musica\n"); printf("2 Procurar Musica\n"); printf("3 Ver Lista\n"); printf("4 Limpar Lista\n"); printf("5 Sair\n"); printf("Escolha uma opcao"); scanf_s("%d", &opc); while ((c = getchar()) != '\n' && c != EOF); {} switch (opc) { case 1: { inserirmusica(); system("pause"); break; } case 2: { procurar_musica(); system("pause"); break; } case 3: { visualizar_lista(); system("pause"); break; } case 4: { limpar_lista(); system("pause"); break; } default: printf("Opcao nao existe"); break; } system("cls"); } while (opc != 5); return 0; system("PAUSE"); return EXIT_SUCCESS; }
Espero ter ajudado.
é o executável está funcional mas ainda sim apresenta o mesmo erro.
a unica opção que não funciona de maneira alguma é a Primeira para adicionar a musica. -
41 minutos atrás, LuisOPsum disse:
Olá!
É muito simples: onde tem scanf_s, deve tirar o "_s" e deixar "scanf".
Espero ter ajudado.
olha fiz como você disse e não funcionou aqui.
adicionado 8 minutos depoistá vou fazer uma outra pergunta relacionada a essa atividade
digamos que eu queira colocar a lista feita em um arquivo (.txt) como eu faço esse procedimento para implantar no algorítimo atual.
-
Pessoal estou com um problema no meu código podem me ajudar com esse erro ?
/*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*/
#include<stdio.h> #include<stdlib.h> #include<locale.h> #include<string.h> struct playlist_musical { char musica[50], cantor[50]; float tempo; struct playlist_musical* prox; }; struct playlist_musical* inicio, * meio, * fim, * aux; void inserirmusica() { int c; playlist_musical *novo = (struct playlist_musical*) malloc(sizeof(struct playlist_musical)); printf("Selecione a musica\n"); fgets(novo->musica, 49, stdin); printf("Selecione o artista"); fgets(novo->cantor, 49, stdin); printf("Duracao da musica"); scanf_s("%f", &novo->tempo); while ((c = getchar()) != 'n' && c != EOF){} novo->prox = NULL; if (inicio == NULL) { inicio = fim = novo; } else { fim->prox = novo; fim = novo; } } void limpar_lista() { char ch; if (inicio == NULL) { printf("\nLista"); } else { printf("s\n"); ch = getchar(); if (ch == 's'); while (inicio != NULL) { aux = inicio; inicio = inicio->prox; free(aux); // limpar memoria } printf("\n Lista vazia"); } } void visualizar_lista() { aux = inicio; if (inicio == NULL) { printf("\n Lista Vazia"); } else { while (aux != NULL) { printf("musica:%s", aux->musica); printf("cantor:%s", aux->cantor); printf("duracao: %f\n", aux->tempo); aux = aux->prox; } } } void procurar_musica() { aux = inicio; if (inicio == NULL) { printf("\n Lista vazia"); } else { char musica[50]; printf("Digiete a faixa:"); scanf_s("%s", &aux); while (aux != NULL) { if (musica == aux->musica) { printf("\n Musica %s encontrada\n", aux->musica); printf("musica: %s", aux->musica); printf("cantor:%s\n", aux->cantor); return; } else { aux = aux->prox; } } if (aux == NULL) { printf("\n Musica %s nao encontrada", musica); } } printf("\n"); } int main() { setlocale(LC_ALL, ""); int opc, c; do { printf("1 Inserir Musica\n"); printf("2 Procurar Musica\n"); printf("3 Ver Lista\n"); printf("4 Limpar Lista\n"); printf("5 Sair\n"); printf("Escolha uma opcao"); scanf_s("%d", &opc); while ((c = getchar()) != '\n' && c != EOF); {} switch (opc) { case 1: { inserirmusica(); system("pause"); break; } case 2: { procurar_musica(); system("pause"); break; } case 3: { visualizar_lista(); system("pause"); break; } case 4: { limpar_lista(); system("pause"); break; } default: printf("Opcao nao existe"); break; } system("cls"); } while (opc != 5); return 0; }
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 player de músicas em modo texto
em C/C#/C++
Postado
Resolvido muito obrigado por tirarem minhas duvidas.