Jump to content

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

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

  • Similar Content

    • By Ribis
      Prezados, bom dia.
       
      Me cadastrei no fórum a fim de ajudar um amigo.
      Ele realiza pesquisa de vagas laborais no site governamental: https://empregabrasil.mte.gov.br/, o qual possui um campo de pesquisa denominado "Vagas de Emprego", onde se digita algo a ser encontrado.
      Anteriormente, além de digitar neste campo de pesquisa, existiam filtros que deveriam ser preenchidos, tais como: estado, cidade e etc., os quais restringiam e finalizavam a busca.
      Ocorreu mudança no sistema de pesquisa do site, sendo que: primeiramente se digita no campo de pesquisa e depois, se encontrar algum resultado de pesquisa, é que os filtros (estado, cidade e etc) serão habilitados...
       
      Antes de ocorrer a mudança no sistema de pesquisa do site, meu amigo digitava "%%%" (sem as aspas) e obtinha vários resultados, logo em seguida, aplicava os filtros correspondentes para restringir sua busca.
      Agora, a forma de pesquisa tornou-se complicada,  pois, considera-se os caracteres de forma genérica e o sistema de filtros nem sempre abrem, o "%%%" não funciona e etc.
      Enfim, tornou-se complicado algo que era relativamente simples.
       
      Pois bem, após estas explicações, peço a vocês: por favor, existe algum "operador de pesquisa" que possa ser digitado para retornar todos os valores existentes no banco de dados do site, o que consequentemente, fará com que o sistema de filtro seja habilitado e possa se restringir a busca?

      *Moderação, não sei qual o tipo de programação utilizada no site supracitado, coloquei o tópico na sessão HTML e CSS, por entender que seria mais apropriado.
       
      Desde já, agradeço a todos que possam tentar ajudar.
      Ribis.
       
       
    • By Bruno Orosco
      Olá pessoal do imasters,
       
      sou novato em programação PHP, estou precisando inserir Id sequencial diferente do banco, nesta ocasião eu tenho uma tabela no banco com os cadastros de membros, quando eu puxo os registros para uma tabela, esses dados chegam em ordem alfabética do feminino para o masculino, o que eu preciso fazer é colocar Ids nessa tabela toda vez que faço a leitura do banco. Imagino inserir uma variável na coluna Id mas não estou obtendo um resultado satisfatório.
        <?php
                              include '../../_fonts/config/banco.php';
                              $pdo = Banco::conectar();
                              $sql = 'SELECT * FROM encontrista ORDER BY sexoEnc ASC';
                              $i = 0;
                              foreach($pdo->query($sql)as $row)
                              {   $i=$i+1;//aqui esta o teste que tentei
                                  echo '<tr>';
                                  echo '<th '.$i'</th>'; //esta coluna precisa gerar um num. sequencial independente do banco
                                  echo '<th scope="row">'. $row['nomeEnc'] . '</th>';
                                  echo '<td>'. $row['telEnc'] . '</td>';
                                  echo '<td>'. $row['responsavel'] . '</td>';
                                  ?>
       
      obrigado desde já!!!
                            
       
    • By Rodrigo Araujo
      Preciso fazer um campo de pesquisa no wordpress para um cliente, onde o mesmo possa pesquisar seus clientes pelo cnpj e o banco de dados retornar apenas o que ele pesquisou e nao todos os clientes cadastrados, alguem pode me ajudar e me explicar alguns comandos ? 
       

       
      este é o que eu estou usando mas dá erro na programação inteira.
    • By Rodrigo Araujo
      Boa noite Galera, eu estou iniciando em programação e estou fazendo um site no wordpress para um cliente onde o mesmo está cadastrando seus clientes e pesquisando, já terminei a parte de cadastro e pesquisa porém eu preciso aplicar dois filtros especificos para ele, pois o mesmo possui mais de 800 clientes. estou enfrentando 2 problemas e vou listar abaixo se puderem me ajudar ficarei eternamente grato.
       
      1º - aplicar o filtro
       

      este é o comando que estou utilizando para efetuar as pesquisas, porém aparece a seguinte mensagem de erro:
       

       
      2º - inserir tabela menor - (css basico do wordpress)
      preciso que os valores retornados do banco de dados fique dentro de uma tabela menor, com a barra de rolagem para que a página não fique extremamente comprida

      Este eu ainda não aprendi nenhum comando em php para inserir o conteúdo todo do retorno do banco de dados dentro de uma caixa.
       
      Obrigado a Todos
    • By teteuvec
      Prezados boa tarde,
       
      Estou tentando escrever na tela o resultado de um select na tela utilizando WHILE, porém está entrando em loop infinito e gostaria de ajuda para acertar a sintaxe desta técnica.
       
       
      Código apenas com 1 WHILE
      <?php $_SESSION['DB_base'] = 'tupa'; $_SESSION['table_base'] = 'people_records'; $query_Recordset2 = "SELECT * FROM {$_SESSION['table_base']} WHERE `link_record` = {$data1['id']} AND `record_caracter_id` = 1 order by {$_SESSION['id_base']} DESC"; $Recordset2 = mysqli_query($connect, $query_Recordset2) or die(mysqli_error($connect)); $row_Recordset2 = mysqli_fetch_assoc($Recordset2); $totalRows_Recordset2 = mysqli_num_rows($Recordset2); while($Recordset2 = mysqli_fetch_assoc($Recordset2)) { echo "Contato: ".$Recordset2["name"]."</br>"; echo "CPF/CNPJ: ".$Recordset2["cpf_cnpj"]."</br>"; echo "e-mail: ".$Recordset2["email"]."</br>"; echo "Celular: ".$Recordset2["cellphone"]."</br>"; echo "Telefone: ".$Recordset2["telephone"]."</br>"; echo "Documento de identificação: ".$Recordset2["name"]."</br>"; echo "</br>"; }?>  
       
      Código inteiro:
      <?php session_start(); $_SESSION['last_page'] = $_SERVER['PHP_SELF']; $_SESSION['del_message'] = 'Deseja excluir o cliente '; $_SESSION['DB_base'] = 'tupa'; $_SESSION['table_base'] = 'people_records'; $_SESSION['id_base'] = 'id'; require_once('connections.php'); $query_Recordset1 = "SELECT * FROM {$_SESSION['table_base']} WHERE record_caracter_id = '0' order by {$_SESSION['id_base']} DESC"; $Recordset1 = mysqli_query($connect, $query_Recordset1) or die(mysql_error()); $row_Recordset1 = mysqli_fetch_assoc($Recordset1); $totalRows_Recordset1 = mysqli_num_rows($Recordset1); ?> <!doctype html> <html lang='pt-br'> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>Tupã - Serviços de Engenharia</title> <link href='css/sistema.css' rel='stylesheet' type='text/css' media='all'> <style type="text/css"> #cnpj { display: none; } #contato { display: none; } #endereco { display: none; } </style> </head> <body> <fieldset> <legend>Gerenciamento de Clientes</legend> <table id="tabela"> <thead> <tr> <th>Descrição</th> <th>Contato</th> <th>Projetos</th> <th colspan="3">Ação</th> </tr> <tr> <th></th> <th></th> <th></th> <th colspan="3"><input type="submit" value="Filtrar" /> | <input type="button" onclick="javascript: location.href='#rec_openModal'" value="Adicionar" /></th> </tr> </thead> <?php while ($Recordset1 = $row_Recordset1){?> <tr> <td bgcolor="#F5F5F5"><p> Código: <?php echo $Recordset1['id']; ?> <br /> Cliente: <?php echo $Recordset1['name']; ?> <br /> CPF/CNPJ: <?php echo $Recordset1['cpf_cnpj']; ?> <br /> e-mail: <?php echo $Recordset1['email']; ?> <br /> Celular: <?php echo $Recordset1['cellphone']; ?> <br /> Telefone: <?php echo $Recordset1['telephone']; ?> <br /> Documento de identificação: <?php if(file_exists('imagens/clients/energy_bill/'.$Recordset1['id'].'.jpg')) { echo 'Documento de identificação: <a href=imagens/clients/energy_bill/'.$Recordset1['id'].'.jpg target="_blank"><img src="imagens/view.png" width="24" height="24">'; } else { echo 'Documento de identificação: indisponível'; } ?> </p></td> <td bgcolor="#F5F5F5"><?php $_SESSION['DB_base'] = 'tupa'; $_SESSION['table_base'] = 'people_records'; $query_Recordset2 = "SELECT * FROM {$_SESSION['table_base']} WHERE `link_record` = {$data1['id']} AND `record_caracter_id` = 1 order by {$_SESSION['id_base']} DESC"; $Recordset2 = mysqli_query($connect, $query_Recordset2) or die(mysqli_error($connect)); $row_Recordset2 = mysqli_fetch_assoc($Recordset2); $totalRows_Recordset2 = mysqli_num_rows($Recordset2); while($Recordset2 = mysqli_fetch_assoc($Recordset2)) { echo "Contato: ".$Recordset2["name"]."</br>"; echo "CPF/CNPJ: ".$Recordset2["cpf_cnpj"]."</br>"; echo "e-mail: ".$Recordset2["email"]."</br>"; echo "Celular: ".$Recordset2["cellphone"]."</br>"; echo "Telefone: ".$Recordset2["telephone"]."</br>"; echo "Documento de identificação: ".$Recordset2["name"]."</br>"; echo "</br>"; }?> </td> <td bgcolor="#F5F5F5"><?php $_SESSION['DB_base'] = 'tupa'; $_SESSION['table_base'] = 'projects_link_tpm'; $query_Recordset3 = "SELECT * FROM {$_SESSION['table_base']} where people_record_id = {$row_Recordset1['id']} order by {$_SESSION['id_base']} DESC"; $Recordset3 = mysqli_query($connect, $query_Recordset3) or die(mysqli_error($connect)); $row_Recordset3 = mysqli_fetch_assoc($Recordset3); $totalRows_Recordset3 = mysqli_num_rows($Recordset3); while($data3 = mysqli_fetch_assoc($Recordset3)) { echo "Projeto: ".$Recordset3["id"]."</br>"; echo "</br>"; }?> </td> <td width="3%" bgcolor="#F5F5F5"><form action="mysql/update_process.php" method="POST"> <input type="hidden" name="update_process" value="<?php echo $row_Recordset1[$_SESSION['id_base']] ?>"> <input type="image" name="submit" src="imagens/edit.png" width="24" height="24"> </form></td> <td bgcolor="#F5F5F5"><form action="mysql/del_process.php" method="POST"> <input type="hidden" name="delete_process" value="<?php echo $row_Recordset1[$_SESSION['id_base']] ?>"> <input type="hidden" name="delete_register" value="<?php echo $row_Recordset1['name'] ?>"> <input type="image" name="submit" src="imagens/delete.png" width="24" height="24"> </form></td> </tr> <?php }?> </table> </fieldset> <div id="rec_openModal" class="modalDialog"> <div> <a class="close" title="Fechar" href="#close">X</a> <fieldset> <legend>Realizar cadastro</legend> <br> <label>Modalidade:</label> <select name="modality" onChange="mostraDiv(this.value)"> <option value="1">Cliente CPF</option> <option value="2">Cliente CNPJ</option> <option value="3">Contato de cliente</option> <option value="4">Endereço de cliente</option> </select> <br /> <div id="cpf"> <form action="mysql/insert_process.php" method="post" id='1'> <br> <label>Nome: </label> <input name='name' type='text' /><br /> <br> <label>CPF: </label> <input name='cpf_cnpj' type='number' data-mask='000.000.000-00' /><br /> <br> <label>e-mail: </label> <input name='email' type='text' /><br /> <br> <label>Celular: </label> <input name='cellphone' type='text' data-mask="(00)0000-0000" /><br /> <br> <label>Telefone: </label> <input name='telephone' type='text' data-mask='(00)00000-0000' autocomplete='off' /><br /> <br> <label>Documento de identificação: </label> <input type='file' name='doc_id'><br /> <INPUT TYPE="hidden" NAME="record_caracter_id" VALUE="0"><INPUT TYPE="hidden" NAME="action" VALUE="0"> <br> <label><input type="submit" value="Cadastrar" /> </label><br /> </form> </div> <div id="cnpj"> <form action="mysql/insert_process.php" method="post" id='2'> <br> <label>Nome da empresa: </label> <input name='name' type='text' /><br /> <br> <label>CNPJ: </label> <input name='cpf_cnpj' type='text' data-mask="00.000.000/0000-00" /><br /> <br> <label>e-mail: </label> <input name='email' type='email' /><br /> <br> <label>Celular: </label> <input name='cellphone' type='text' data-mask="00000-000" /><br /> <br> <label>Telefone: </label> <input name='telephone' type='text' /><br /> <br> <label>Documento de identificação: </label> <input name='doc_id' type='file' /><br /> <INPUT TYPE="hidden" NAME="record_caracter_id" VALUE="0"><INPUT TYPE="hidden" NAME="action" VALUE="0"> <br> <label><input type="submit" value="Cadastrar" /> </label><br /> </form> </div> <div id="contato"> <form action="mysql/insert_process.php" method="post" id='3'> <br> <label>Nome: </label> <input name='name' type='text' /><br /> <br> <label>cpf: </label> <input name='cpf' type='number' data-mask='000.000.000-00' /><br /> <br> <label>e-mail: </label> <input name='email' type='text' /><br /> <br> <label>Celular: </label> <input name='cellphone' type='text' data-mask="(00)0000-0000" /><br /> <br> <label>Telefone: </label> <input name='telephone' type='text' data-mask='(00)00000-0000' autocomplete='off' /><br /> <br> <label>Documento de identificação: </label> <input type='file' name='doc_id'><br /> <INPUT TYPE="hidden" NAME="record_caracter_id" VALUE="1"><br> <label>Contato do cliente </label> <select name="link_record"> <?php while ($data = mysqli_fetch_array($Recordset1)) { echo("<option value='".$data['id']."'>".$data['name']."</option>"); } ?> </select><br /> <INPUT TYPE="hidden" NAME="action" VALUE="0"> <br> <label><input type="submit" value="Cadastrar" /> </label><br /> </form> </div> <div id="endereco"> <form action="mysql/insert_process.php" method="post" id='4'> <br> <label>CEP: </label> <input name='cep' type='text' /><br /> <br> <label>Logradouro: </label> <input name='address' type='text' data-mask="00000-000" autocomplete="off" /><br /> <br> <label>Número: </label> <input name='number' type='text' /><br /> <br> <label>Bairro: </label> <input name='neighborhood' type='text' /><br /> <br> <label>Cidade/UF: </label> <input name='city' type='text' /><input name='uf' type='text' /><br /> <INPUT TYPE="hidden" NAME="record_caracter_id" VALUE="4"><INPUT TYPE="hidden" NAME="action" VALUE="1"> <br> <label><input type="submit" value="Cadastrar" /> </label><br /> </form> </div> </fieldset> </div> </div> </body> </html> <?php mysqli_free_result($Recordset1); mysqli_free_result($Recordset2); mysqli_free_result($Recordset3); ?>  
×

Important Information

Ao usar o fórum, você concorda com nossos Terms of Use.