Ajuda para criar método de pesquisa de valores no código da fila abaixo

1. Ajuda para criar método de pesquisa de valores no código da fila abaixo

Julio Cesar de Queiroz
julio2043

(usa Ubuntu)

Enviado em 08/06/2014 - 22:52h

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



  






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts