Boa!
Esse é meu primeiro tópico, portanto já vou pedindo perdão se houver algo de errado...rsrsrsrs
Preciso de ajuda com passagem de um argumento.
retorno_pesquisa = pesquisar(academia, vmatricula, base);
onde:
- "academia" é uma estrutura
- "vmatricula" é char de tamanho 10
- base é int
E a função:
int pesquisar(T_ficha pvetor[], char *pmatricula, int ptamanho){
int inicial = 0, posicao = 0, final = ptamanho, meio = 0;
bool achou = false;
/*--- retirar ---*/
printf("\n\n *** pmatricula = %d *** ", pmatricula); // retorna 2293536
/*--- retirar ---*/
do{
ptamanho = (inicial + final)/2;
if (strcmp(pvetor[meio].matricula, pmatricula) == 0){
achou = true;
posicao = ptamanho + 1;
} else {
if(strcmp(pvetor[meio].matricula, pmatricula) > 0){
final = ptamanho - 1;
} else {
inicial = ptamanho + 1;
}
}
} while ((!achou) && (inicial <= final));
return posicao;
}
O problema é que a função não recebe o valor de "vmatricula" de jeito nenhum!!!!
Alguém me ajuda?
Desde já agradeço!