Ir ao conteúdo
  • Cadastre-se

Soratari

Membro Júnior
  • Posts

    4
  • Cadastrado em

  • Última visita

posts postados por Soratari

  1. 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.

  2. 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 depois

    tá 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.

  3. 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;
    }

     

    Capturar22.PNG

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...

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!