ola!!!!!! Estou no 3° período de tecnologia em informática na universidade tuiuti do paraná e tenho um trabalho pra apresentar no dia 13 de junho e so falta implementar uma busca binária em um vetor mas na chamada da função não consigo imprimir o que quero alguém pode me ajudar com isso???????? o codigo fonte e esse: so falta o case 4 pra implementar e não consigo fazer funcionar alguém me ajuda!!!!!! #include <stdio.h> #include <string.h> #include <stdlib.h> //---------------------------------------------------------------- #define Tam_Max 5 /*---------------------DECLARAR ITEM DA LISTA-------------------*/ typedef struct{ int cod; int tel; char nome [20]; char end [50]; }Titem; /*---------------------DECLARAR LISTA---------------------------*/ typedef struct{ int ini; int fim; Titem dados [Tam_Max]; }Tlista; /*---------------------INICIA A LISTA---------------------------*/ void iniciolista (Tlista *i){ i->ini=0; i->fim=0; } /*---------------------VERIFICAR SE A LISTA ESTA VAZIA----------*/ bool listavazia (Tlista *v){ if (v->ini==v->fim) return true; else return false; } /*---------------------INSERIR ITEM NA LISTA--------------------*/ bool insere_lista(Tlista *lista,Titem x) { if(lista -> fim < Tam_Max) { lista -> dados[lista -> fim] = x; lista -> fim ++; return true ; } else return false; } /*---------------------REMOVER ITEM DA LISTA-------------------*/ bool remove_lista (Tlista *lista,Titem *x,unsigned int posicao) { if(( posicao > Tam_Max)||( posicao > lista ->fim)) return false; else { *x = lista -> dados[posicao]; lista -> fim --; for(int i = posicao;i <= lista -> fim;i++) { lista -> dados = lista -> dados[i+1]; } return true; } } /*---------------------IMPRIMIR LISTA---------------------------*/ void imprime_lista(Tlista *l) { int aux; for (aux =l->ini;aux< l->fim; aux++) { printf ("posicao: %d \n",aux); printf ("codigo: %d \n",l->dados[aux].cod); printf ("nome: %s \n",l->dados[aux].nome); printf ("endereco: %s \n",l->dados[aux].end); printf ("telefone: %d \n\n",l->dados[aux].tel); } } //--------------------------------------------------------------- int Busca_Binaria(Tlista *L, int x, int meio) { int inf, sup; meio = 0; inf = L->ini; sup = L->fim-1; while (inf <= sup){ meio = (inf + sup)/2; if(x > L->dados[meio].cod) inf = meio + 1; else if(x < L->dados[meio].cod) sup = meio - 1; else return meio; } return -1; } /*---------------------EXECUCAO----------------------------------*/ void main() { Tlista l,ll; Titem itm; int menu,x,aux,meio ; aux=1; iniciolista(&l); do { system ("cls"); printf("digite a opcao:\n"); printf("1-cadastro lista.\n"); printf("2-remove lista.\n"); printf("3-imprime na lista.\n"); printf("0-para sair.\n"); scanf("%d",&menu); switch (menu) { case 1 : printf("digite nome:"); fflush(stdin); scanf("%[^\n]s",itm.nome); printf("digite endereco:"); fflush(stdin); scanf("%[^\n]s",&itm.end); printf("digite tel:"); scanf("%d",&itm.tel); itm.cod = aux; aux ++; if (insere_lista(&l,itm)) { printf("\nelemento inserido com sucesso! \n"); imprime_lista(&l); } else printf("\nnão foi possivel inserir \n"); system("pause"); break; case 2 :if (listavazia(&l)) { printf("não E POSSIVEL REMOVER, LISTA VAZIA!"); system ("pause"); } else { printf("digite a posicao do elemento a remover:\n"); imprime_lista(&l); scanf("%d",&x); if(remove_lista(&l,&itm,x)) printf("O cadastro de %s foi removido \n",itm.nome); else printf("não foi possivel remover \n"); system ("pause"); } break; case 3 : imprime_lista(&l); system ("pause"); break; case 4:printf("digite a codigo :\n"); imprime_lista(&l); scanf("%d",&x); } } while (menu != 0); }