Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

heddyman

Simulador em C++

Recommended Posts

boa tarde colegas... estou desenvolvendo um trabalho para a faculdade e estou com problemas no meu código. Na hora hora que eu seleciono a opção de pesquisa ele trava. Podem me ajudar por favor....

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <locale.h>


/*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*/


struct Lista
{
	char musica[40], cantor[40];
	float duracao;
	Lista *prox;
};

Lista *inicio, *fim, *aux;

void inserirMusica()
{
	int c;

	Lista *novo = (struct Lista *)malloc(sizeof(struct Lista));
	printf("\nQual eh a musica? ");
	fgets(novo->musica, 39, stdin);

	printf("De quem eh a musica? ");
	fgets(novo->cantor, 39, stdin);

	printf("qual a duracao da musica? ");
	scanf("%f", &novo->duracao);

	while ((c = getchar()) != '\n' && c != EOF) {}   // Limpar buffer do teclado

	novo->prox = NULL;

	if (inicio == NULL)  		//A Fila esta vazia e iremos inserir o primeiro elemento
	{
		inicio = fim = novo;
	}
	else
	{
		fim->prox = novo;
		fim = novo;
	}
}

void esvaziarLista()
{
	char ch;
	if (inicio == NULL)
	{
		printf("\nA fila esta vazia!\n\n");
	}
	else
	{
		printf("\nTem certeza que deseja esvaziar toda a lista?(s/n): ");
		ch = getchar();
		if (ch == 's' || ch == 'S')
		{
			while (inicio != NULL)
			{
				aux = inicio;
				inicio = inicio->prox;
				free(aux); // Libera o espaco na memoria
			}
			printf("\nA lista foi esvaziada com sucesso!!\n\n");
		}
		else
		{
			printf("\nA lista nao foi esvaziada!!\n\n");
		}
	}
}

void mostrarLista()
{
	aux = inicio;
	if (inicio == NULL)
	{
		printf("\nA lista esta vazia!");
	}
	else
	{
		while (aux != NULL)
		{
			printf("musica: %s", aux->musica);
			printf("cantor: %s", aux->cantor);
			printf("duracao: %f\n\n", aux->duracao);
			aux = aux->prox;
		}
	}
	printf("\n\n");
}

void localizarMusica()
{
	aux = inicio;
	if (inicio == NULL)
	{
		printf("\nA lista estah vazia!");
	}
	else
	{
		char musica[40];
		printf("Digite a musica que procura: ");
		scanf("%s", &aux);

		while (aux != NULL)
		{
			if (musica == aux->musica)
			{
				printf("\nMusica  %s localizada!\n\n", aux->musica);
				printf("musica %s", aux->musica);
				printf("cantor: %s\n\n", aux->cantor);
				return;
			}
			else
			{
				aux = aux->prox;
			}
		}

		if (aux == NULL)
		{
			printf("\nMusica  %s nao localizada!\n", musica);
		}
	}
	printf("\n\n");
}


int main()
{
	setlocale(LC_ALL, "");
	system("color 0E");
	int opt, c;

	do
	{
		printf("*==================================*\n");
		printf("| Simulador de Player de Musica    |\n");
		printf("*==================================*\n\n\n\n");
		printf("*===========================*\n");
		printf("| 1. Inserir Música         |\n");
		printf("| 2. Pesquisar Músicas      |\n");
		printf("| 3. listar  Músicas        |\n");
		printf("| 4. Limpar Lista do Player |\n");
		printf("| 5. Sair                   |\n");
		printf("*===========================*\n");

		printf("Digite sua escolha: ");
		scanf("%d", &opt);
		while ((c = getchar()) != '\n' && c != EOF) {}   // Limpar buffer

		switch (opt)
		{
		case 1:
			inserirMusica();
			printf("\nMusica inserida com sucesso!!\n\n");
			system("pause");
			break;
		case 2:
			localizarMusica();
			system("pause");
			break;
		case 3:
			mostrarLista();
			system("pause");
			break;
		case 4:
			esvaziarLista();
			system("pause");
			break;
		case 5:
			printf("\nO programa foi encerrado com sucesso!!\n\n");
			system("pause");
			break;
		default:
			printf("\nEscolha Invalida!!\n\n");
			system("pause");
			break;
		}
		system("cls");
	}
	while (opt != 5);

	return 0;
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

  • Conteúdo Similar

    • Por btpdsnb
      Boa tarde, pessoal!
      Meu nome é Rodrigo e sou aluno de graduação da FEA-USP. Meu grupo está realizando uma pesquisa para analisar o que motiva e retém os desenvolvedores de software nas organizações do Brasil.
      Acreditamos que este tipo de pesquisa pode ajudar as empresas a entenderem os principais fatores de retenção e gerir melhor as práticas de gestão de pessoas adotadas para retê-los.
      Todos os dados pessoais coletados serão confidenciais, utilizados exclusivamente para fins acadêmicos.
      Aos que puderem responder, o questionário leva de 5 a 8 minutos para ser respondido.
      Link do formulário: https://docs.google.com/forms/d/1izmjInl_uuTgjIaQUF7Lk6rh7OudSy6MoBRugiMQdic/viewform?edit_requested=true
    • Por FelipeCostaFT
      Estou iniciando uma startup para ajudar os devs a entrarem no mercado de trabalho mais preparados
      e, por isso, com maior chance de arrumar um bom emprego.

      Mas gostaria de saber como está sendo a realidade de vocês nesse momento de encarar o mercado.
      Alguém já está nessa fase ou até dentro do mercado poderia me ajudar? Esse forms dura 1 minuto pra
      responder e vai nos auxiliar a descobrir como ajudá-los a chegar lá mais rápido.
       
      link do forms
    • Por Spy_brbr
      Tenho um sistema em PHP que funciona como um tipo de repositório para documentos. No início a ideia era apenas realizar pesquisas pelo título ou tipo de documento, mas andei lendo sobre algumas ferramentas como Apache Solr ou ElasticSearch que realizazam a indexação dos arquivos e permite realizar as buscas dentro de arquivos PDF, DOC, etc. Alguém já utilizou essas ferramentas ?
    • Por Jefferson andre
      Ola, Tenho uma lista de nomes de clientes escritas sem nenhum padrao de maiscula e minuscula e preciso fazer uma pesquisa nelas. O usuario vai digitar sem nenhum padrao. Entao preciso que todo o conteudo da lista e o campo digitado pelo usuario seja convertido para maisucula/minuscula e a pesquisa seja feita.   Exemplo: JEFFERSON rose Nicolas ROSEMEIRE   PESQUISAR POR: Ro   RETORNO DA PESQUISA: rose ROSEMEIRE   Como fazer isso em javascript ? preciso de um exemplo se tiver ok
    • Por Alberto Nascimento
      Estou tentando, mas não esta exibindo o registro...
       
      localizar.php
       
      <?php session_start(); $_SESSION["localizarfotografia"] = $_POST["codphoto"]; ?> <head> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> <title>EXIBIR FOTOGRAFIA PELO CÓDIGO INTERNO</title> <style type="text/css"> <!-- .Style6 {font-size: 13px} .auto-style20 { text-align: center; } .auto-style22 { background-color: #FEB624; } .auto-style23 { font-family: Verdana, Geneva, Tahoma, sans-serif; font-size: xx-small; text-align: center; } .auto-style25 { background-color: #FFCC66; } .auto-style26 { font-size: x-small; } .auto-style27 { font-size: x-small; text-align: center; } .auto-style28 { text-align: center; background-color: #FEB624; } --> </style> </head> <body style="margin-top: 50"> <body onload="form1.login.focus();"> <form id="form1" name="form1" method="post" action="pesquisaragora.php"> <div class="auto-style20"> <table align="center" cellpadding="0" cellspacing="0" class="auto-style23" style="width: 500"> <tr> <td class="auto-style20"> &nbsp;</td> </tr> <tr> <td class="auto-style22"> &nbsp;</td> </tr> <tr> <td class="auto-style25" style="height: 41px">Informe o código da FOTOGRAFIA abaixo</td> </tr> <tr> <td class="auto-style25"> <table align="center" style="width: 450"> <tr> <td class="auto-style27"><span class="Style6"> <label> <input name="codphoto" type="text" id="codphoto" style="width: 305px; height: 83px;" /></label></span></td> </tr> <tr> <td class="auto-style26"><strong> </strong></td> </tr> <tr> <td class="auto-style20"><span class="Style6"> <label> <input type="submit" name="Submit" value="LOCALIZAR PHOTO" /></label></span></td> </tr> </table> </td> </tr> <tr> <td class="auto-style25">&nbsp;</td> </tr> <tr> <td class="auto-style28"> &nbsp;</td> </tr> </table> <br></div> </form> </body> </html>  
      pesquisarphoto.php
       
      <?php include("config.php"); $codphoto = $_POST['codphoto']; $sql_logar = "SELECT * FROM photos WHERE codphoto = '$codphoto'"; $exe_logar = mysql_query($sql_logar) or die (mysql_error()); $fet_logar = mysql_fetch_assoc($exe_logar); $num_logar = mysql_num_rows($exe_logar); $codphoto = $fet_logar['codphoto']; $nome = $fet_logar['nome']; $cidade = $fet_logar['cidade']; $uf = $fet_logar['uf']; if ($num_logar == 0){ echo "Desculpe, mas a foto não foi localizada."; echo "<br><a href='javascript:window.history.go(-1)'>Clique aqui e tente novamente.</a>"; } else{ session_start(); $_SESSION['codphoto'] = $codphoto; $nome = $fet_logar['nome']; $cidade = $fet_logar['cidade']; $uf = $fet_logar['uf']; echo $exibir["codphoto"]; echo $exibir["nome"]; echo $exibir["cidade"]; echo $exibir["uf"]; } ?>  
       
       
       
       
       
       
       
       
×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.