Jump to content
Fórum Script Brasil
  • 0

Dúvida sobre C++


Kugrim
 Share

Question

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

 

Edited by Kugrim
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 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 ! ! !

Edited by Felipe222
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

  • Forum Statistics

    • Total Topics
      149.6k
    • Total Posts
      646.2k
×
×
  • Create New...