Ir para conteúdo
Fórum Script Brasil
  • 0

Dúvida sobre C++


Kugrim

Pergunta

Olá, estou tentando aprender a programar desde ontem e ainda estou aprendendo o básico do C++.

Minha dúvida é sobre o IF (ou se eu realmente devo usar o IF nesse caso), eu quero que o programa reconheça a palavra que eu digitei e me de uma mensagem logo após, consigo fazer isso com números, porém, com palavras não estou conseguindo. 

Por exemplo: Gostaria que eu digitasse "Ligar" e aparecesse na tela "Luz ligada", mas somente se a palavra digitada for "Ligar".

Como faço para que o programa reconheça a palavra? Desde já agradeço!

Obs: Já que estou começando agora, qualquer dica é bem-vinda!

 

 

O código que eu tentei fazer o que eu disse:

 

#include <iostream>
using namespace std;
int main()

{
    cout << "LUZ DESLIGADA!" << endl;

    int ligar;

    cin >> ligar;

    if (cin>>ligar=="ligar"){

        cout << "LUZ LIGADA!" << endl;
    }

    else{

        cout << "..." << endl;
    }

 

Editado por Kugrim
Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Olá!

 

 

Olha sou inciante na Linguagem C e não sei basicamente nada sobre C++, mas . . .

 

Existem linguagens de programação que permitem que seja feita uma avaliação direta entre duas strings, tão facilmente quanto contar de 1 a 10.

 

Porem, em outras a coisa é um pouco diferente, na linguagem C, para se fazer a comparação entre duas strings, verificando se elas são iguais, exatamente da forma como você deseja fazer, se faz necessário a utilização de uma função que realize tal tarefa.

 

Na Linguagem C você pode usar a função strcmp(), que se encontra na biblioteca #include<string.h>

 

Essa função faz a comparação entre duas strings e retorna verdadeiro ou falso para a avaliação:

 

char nome1 [ 6 ] = “marcos”

 

char nome2 [ 6 ] = “marcos”

 

if ( strcmp ( nome1, nome2 ) == 0 )

{

     . . .

}

 

Caso as duas strings sejam iguais, a função retorna como valor ( 0 ), valor o qual é comparado com o ( 0 ), a ser comparado e já explicito dentro do if, neste caso:

 

if ( 0 == 0 )

{

     . . .

}

 

Neste caso a avaliação do if se torna verdadeira, porem caso as strings fossem diferentes o valor retornado pela função seria ( 1 ) onde:

 

if ( 1 == 0 )

{

    . . .

}

 

Neste caso a avaliação do if se torna falsa, pois 1 e 0 não são iguais, assim o conteúdo do if não seria executado.

 

 

Na linguagem C++ você pode usar a mesma função que lhe apresentei, tenho apenas duas observações:

 

 

- por não conhecer C++, não tenho certeza se realmente a linguagem não é capaz de fazer a comparação direta entre duas strings, mas estou quase certo de que ela não é capaz.

 

- como não sei a sintaxe de C++, vou deixar para você introduzir a função strcmp(), no seu código.

 

Observação:

 

Não quero ser chato, mas é sempre bom dar uma pesquisada no forum, para ver se um tópico similar já não existe, seja para poupar tempo de esperar por respostas, o que sei que pode ser frustante, ou para evitar a criação de topicos com assuntos repetidos:

 

 

 

 

 

 

 

Bom por hora é só . . .

 

Ubuntu 14.04  GCC 4.8  CodeBlocks 13.12

 

Espero Ter Ajudado ! ! !

Editado por Felipe222
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,5k
×
×
  • Criar Novo...