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