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:  
juca_borba

Toda ves que encontra o nome , ele aparece "Nome Encontrado" , mas logo em seguida aparece 2 mensagem de "Nome Nao Encontrado"

Recommended Posts


#include <iostream>using namespace std;int main(){    string nome[3],nomep;    bool naoencontrado=false;    int i;    for(i=0; i<3;i++){       cout<<"Nome["<<i<<"]: ";       cin>>nome[i];    }    cout<<"Nome a pesquisar: ";    cin>> nomep;    for(i=0; i<3;i++){       if(nome[i]==nomep)         cout<<"nome encontrado..";       else naoencontrado= true;    }          if (naoencontrado == true){       cout<<"Nome nao encontrado"<<endl;       //naoencontrado=false;    }    system("pause");}
 Toda ves que encontra o nome , ele aparece "Nome Encontrado" , mas logo em seguida aparece 2 mensagem de "Nome Nao Encontrado"
 E toda ves que nao acha o nome aparece 3 mensagem de "Nome nao encontrado"
 
 Alguem por favor refaz o codigo para aparecer somente 1 mensagem de "Nome Encontrado" para quando achar o nome , e somente 1 mensagem para quando nao achar o nome "Nome Nao Encontrado"
 
Grato por quem poder ajudar
Editado por dif
usar a tag CODE

Compartilhar este post


Link para o post
Compartilhar em outros sites

O problema é aqui:

for(i=0; i<3;i++){       if(nome[i]==nomep)         cout<<"nome encontrado..";       else naoencontrado= true;    } 

Detalhe: não se compara strings com ==. Chama-se um método em um dos objetos (nomep.compare(nome))
Supondo que você tem 3 nomes:  Marcos, Lúcio e Fernando. Você decide procurar por Marcos, que é o primeiro da lista.
Iteração #1: i=0; nome = Marcos, nomep = Marcos. São iguais, então é impresso "Nome encontrado."
Iteração #2: i=1; nome = Lúcio. Como são diferentes, você define um booleano p/ falso indicando que não foi encontrado.

#include <iostream>using namespace std;int main(){    string nomes[3];    string nome;    int i;    for(i=0; i<3;i++){       cout<<"Nome["<<i<<"]: ";       cin>>nomes[i];    }    cout<<"Nome a pesquisar: ";    cin>> nome;    for(i=0; i<3 && nome.compare(nomes[i]);i++);    if (i >= 3)       cout<<"Nome nao encontrado"<<endl;    return 0;}

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

×