Ir para conteúdo
Fórum Script Brasil
  • 0

Ajuda para implantar método de pesquisa de valores neste código


julioout

Pergunta

Boa noite galera, estou com dificuldades para colocar um método de pesquisa de valores já inseridos no ato da execução do código. Se alguém puder me ajudar o código é este:
Obs: criei no menu o chamamento da opção pesquisar na opção 4 do switch

#include <stdio.h>
#include <stdlib.h>
#include <locale.h>
#define LIMPA_TELA system("cls")
typedef struct Fila{
int valor;
struct Fila *proximo;
} Dados;
Dados *principal = NULL;
Dados *final = NULL;
void insere();
void exclui();
void mostra();
void mostra_erro();
void pesquisa();
void insere(){
FILE *arquivo;
arquivo = fopen("teste.txt","w");
int val;
LIMPA_TELA;
printf("\nINSERÇÃO: \n");
printf("--------------------------------------\n");
while(val<0 || val>99999999){
printf("INSIRA SOMENTE NÚMEROS NA LISTA: ");
scanf("%i",&val);
fflush(stdin);
};
Dados *atual = (Dados*)malloc(sizeof(Dados));
atual -> valor = val;
atual -> proximo = NULL;
if(principal == NULL){
principal = final = atual;
}
else{
final->proximo=atual;
final=atual;
}
}
void exclui(){
Dados *auxiliar;
printf("\nEXCLUSÃO: \n");
printf("--------------------------------------\n");
auxiliar=principal->proximo;
free(principal);
principal=auxiliar;
printf("\nVALOR EXCLUÍDO!\n");
printf("--------------------------------------");
getchar();
}
void mostra(){
int posicao=0;
Dados *nova=principal;
LIMPA_TELA;
printf("\nMOSTRANDO VALORES: \n");
printf("--------------------------------------\n");
for (; nova != NULL; nova = nova->proximo){
posicao++;
printf("POSIÇÃO %d, CONTÉM O VALOR %d\n",posicao,nova->valor);
}
printf("--------------------------------------");
getchar();
}
void mostra_erro(){
LIMPA_TELA;
printf("\nERRO DE DIGITAÇÃO: \n");
printf("--------------------------------------\n");
printf("\nDIGITE UMA OPÇÃO VÁLIDA \nPRESSIONE -ENTER- PARA CONTINUAR)!\n");
printf("--------------------------------------");
getchar();
}
void pesquisa(){
}
int main(){
FILE *arquivo;
arquivo = fopen("teste.txt","w");
system("color 0A");
setlocale(LC_ALL,"portuguese");
char escolha;
do {
LIMPA_TELA;
printf("\n=============FILA=============\n\n");
printf("ESCOLHA UMA OPÇÃO ABAIXO: \n\n");
printf("\t1 - INSERIR VALOR?\n");
printf("\t2 - REMOVER VALOR?\n");
printf("\t3 - MOSTRAR VALORES?\n");
printf("\t4 - PESQUISAR VALORES?\n"); // FALTA AJUSTAR EM CIMA
printf("\t5 - SALVAR UM ARQUIVO?\n"); // FALTA AJUSTAR EM CIMA
printf("\t6 - LER ARQUIVO SALVO?\n"); // FALTA AJUSTAR EM CIMA
printf("\t9 - SAIR?\n\n");
printf("OPÇÃO NÚMERO: ");
printf("\a");
scanf("%c", &escolha);
printf("\a");
switch(escolha) {
case '1':
system("color 1F");
insere();
break;
case '2':
system("color 2F");
if(principal!=NULL){
exclui();
}
else{
printf("\nA FILA ESTÁ VAZIA!\n");
getchar();
}
break;
case '3':
system("color 3F");
if(principal!=NULL){
mostra();
}
else{
printf("\nA FILA ESTÁ VAZIA!\n");
getchar();
}
break;
case '4': // FALTA IMPLEMENTAR O 4,5 e 6
system("color 4F");
pesquisa();
break;
case '5':
system("color 5F");
break;
case '6':
system("color 6F");
break;
case '9':
system("color 9F");
printf("\nOBRIGADO POR UTILIZAR ESSE PROGRAMA!\n");
printf("------>TERMINAL DE INFORMAÇÃO<------\n\n");
exit(0);
break;
default:
mostra_erro();
break;
}
getchar();
}
while (escolha > 0);
return 0;
}
Link para o comentário
Compartilhar em outros sites

0 respostass a esta questão

Posts Recomendados

Até agora não há respostas para essa pergunta

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...