Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
Bruno Dixini

uso de ponteiro de struct dentro do strcmp

Recommended Posts

celula* buscaLista(lista *l, char *palavra) {
    /// -----------------------------------------------------------------------------------------
    celula *tmp = NULL;
    tmp = l->inicio;
    int valor;
    do{
        valor = strcmp(palavra, tmp->palavra);  // --------- Meu programa tem varias outras funções, e uma delas chama essa buscaLista, e quando chega nesse strcmp da pau              

        if(valor == 0){                                          // ---------  programa!! Nao sei porque!  
            return tmp;
        }
        else{
            tmp = tmp->proximo;
        }

    }while(tmp != NULL);
    return NULL;
}

Editado por Bruno Dixini

Compartilhar este post


Link para o post
Compartilhar em outros sites
Gabriel_Moro    21
1 hora atrás, Bruno Dixini disse:

valor = strcmp(palavra, tmp->palavra);  // --------- Meu programa tem varias outras funções, e uma delas chama essa buscaLista, e quando chega nesse strcmp da pau              
        if(valor == 0){                                          // ---------  programa!! Nao sei porque!  
            return tmp;
        }

 

ficaria

if (strcmp ( palavra, tmp -> palavra) == 0){

 

 

}

Compartilhar este post


Link para o post
Compartilhar em outros sites
Bruno Dixini    1
  • Autor do tópico
  • Gabriel, já fiz assim, mas continua dando pau quando chega no strcmp, não entendi porque trava nisso

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Gabriel_Moro    21

    declarou a biblioteca?

    adicionado 17 minutos depois
    celula *esse=NULL;
    celula *aux=inicioLista;
    
    while(aux!=NULL && esse==NULL){
    	if(strcmp(palavra, aux->palavra)==0){
        	esse=aux;
        }else{
        	aux=aux->pox;
        }
    }
    
    return esse;

    eu faria esse tipo de busca assim...

    Editado por Gabriel_Moro

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    @Bruno Dixini Sua função busca um nó de uma lista certo?

    Esse trecho

    celula* buscaLista(lista *l, char *palavra){
        /// ------------------------------------
        celula *tmp = NULL;

    Você já conferiu se dá certo mesmo? Talvez eu esteja errado, mas o tipo de é lista* e a variável tmp é do tipo celula* que logo em baixo recebe l->inicio, que é do tipo lista*, mas como disse, talvez esteja errado já que não disponho de todo o código

     

    Mas voltando ao código, tente dessa forma (caso a do colega acima não de certo para você)

     

    celula* buscaLista(lista* I, char* palavra)
    {
    	celula tmp = I;
    	
    	while(tmp != NULL)
    	{
    		if(strcmp(tmp->palavra, palavra) == 0)
    			return tmp;
    	
    		tmp = tmp->proximo;
    	}
      
    	return NULL;
    }

     

    Editado por Lucas Lima Nunes

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites
    Bruno Dixini    1
  • Autor do tópico
  • É porque inicio é do tipo ponteiro de celula e l->inicio aponta para uma celula! 

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Crie uma conta ou entre para comentar

    Você precisar ser um membro para fazer um comentário






    Sobre o Clube do Hardware

    No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

    Direitos autorais

    Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

    ×