Ir ao conteúdo

Comando bool utilização


Diego.AS.

Posts recomendados

Postado

ola pessoal

estava lendo sobre C++ e encontrei o comando

bool

sei que ele tem a função de declarar intruções como falso e verdadeiro

para que ela serve exatamente, e como posso utiliza-la??

ela funciona quase como if ?

:confused:

se possivel postem um programa-exemplo

Grato

Postado

Nossa cara... Não lembro direito como utiliza...

Sei que você declara como boolean e utiliza ele para comparar duas informações...

Tipo, você bota um if e se o programa entrar nesse if, terá uma linha que mudará a variável booleana para true ou false...

a = true;oua = false;

ai mais pra frente, você chama outra condição verificando se a variavel booleana é verdadeira ou falsa... coisa assim....

#include <iostream>using namespace std;
int main (){  int a,b;  boolean c;  cout << "digite o valor de A" << endl;  cin >> a;  cout << "digite o valor de B" << endl;  cin >> b;  if (a >     c = true;  else if (a <     c = false;  else if (a ==     cout << "A e B tem o mesmo valor" << endl;  if (c == true)    cout << "A e maior que B" << endl;  else if (c == false)    cout << "A e menor que B" << endl;  system("pause");  return(0);}

Esse código ai de cima foi uma tentativa... Não sei se está certo... xD

Postado

bool é um tipo de dados. Assim como tem o int, o char e o double, tem o bool. O bool só aceita dois valores: true ou false. True significa verdadeiro e false significa falso. Imagine as declarações:

int a = 100;int b = 200;bool c;

Agora imagine a operação:

c = a < b;

Pela lógica já dá pra ver que depois dessa operação, c = true, porque a é menor que b.

Esse tipo de dados bool serve pra muitas coisas inclusive pra armazenar esse tipo de resultado. Outro exemplo, onde não aparece o bool mas está implícito no argumento do laço while:

int contador = 10;
while ( contador ){     cout << "Contador = " << contador << endl;
     contador--;}

O laço while é executado enquanto o argumento for true ou maior que 0, o que dá na mesma porque true é equivalente a qualquer número diferente de zero (e false é equivalente a zero).

Aqui o programa no início imprime "Contador = " seguido do número 10, depois diminui o valor do contador em 1 e continua diminuindo até chegar a zero, e como zero é equivalente a "false", o laço while termina e o programa também (sem mostrar o zero).

Se ao invés de um int você colocar um bool tipo:

bool contando = true;int numero = 0;
while ( contando ){     cout << "Contando... " << numero << endl;
     numero++;
     if (numero > 10 )          contando = false;}

Aqui ele termina assim que o numero for maior que 10.

Existem tantas utilidades pro tipo de dados bool que só na prática você vai descobrir a importância dele. Mas o que importa é você saber que bool é um tipo de dados e que só aceita true ou false, e que o significado de true é "verdadeiro" e false é "falso".

Postado

Vale ressaltar 2 coisas:

1 - O tipo "bool" realmente é bastante usado por programadores mais avançados, em casos específicos.

2 - Ele não é essencial, ou seja, dá pra fazer a mesma coisa com um tipo "int", por exemplo. A única coisa que mudaria é a condição do if.

Postado
Vale ressaltar 2 coisas:

1 - O tipo "bool" realmente é bastante usado por programadores mais avançados, em casos específicos.

2 - Ele não é essencial, ou seja, dá pra fazer a mesma coisa com um tipo "int", por exemplo. A única coisa que mudaria é a condição do if.

Postado

Duas coisas:

1- O bom do bool é o tamanho dele. 1 byte apenas, quando comparado ao int, 4 bytes, ou ao short int, 2 bytes.

2 - No C e C++, qualquer valor diferente de 0 é true, e o 0 é false. Teste ai:

if(10){    printf("Vishe. Verdadeiro");}else{    printf("Ele mentiu. Falso");}

e depois, faça o mesmo teste com if(0).

Também, teste:

int a;a = 10 < 9;printf("%d\n", a);a = 9 < 10;printf("%d\n", a);
Postado

Você quer dizer que não é preciso que eu deixe uma variavel meio que declarada como true ou false

ex:

bool contando = true;

Porque o comando ja vai interpretar sósinho

é isso??

  • 8 meses depois...
Postado

o que houve?

estava aprendendo com a discussao e pararam???

Por favor, alguem tem algumas dicas ou exercícios para fazer testes desses comandos,

gostaria muito de aprender a utilizar variaveis de tipo bool...

Por favor, creio que nao seja necessario abrir outro tópico...

abço!!!

Postado

O tipo bool é um tipo que todo mundo usa "implementado" em outras funções, como os laços, estruturas de controle. por exemplo:

if(condição)//a condição retornará um valor declarado como true, então você utilizou o bool sem saber.while(condição)// usou valores booleanos também.swicth (opção) case valor://retorna true se o valor da opção for igual ao valor do case:

Existem várias situações que se podem usar.

Por exemplo, em Email para checar se uma caixa de entrada está vazia, ele retornará true, se estiver e false se não estiver.

em jogos de videogame se a mira estiver no alvo(true) então você matará o adversário, se não estiver(false) você estará gastando bala.

Postado

Ao invés de bool, pode-se utilizar uma variavel int, então ao invés de comparar if(c == true)

se compara if(c == 1), mesma coisa ^^.

Mas, qual a diferença?

Quase nenhuma, pois se você fizer assim com bool if©, está certo, e assim com int if©, também está correto. Mas a diferença está no uso da memoria, já que que o tipo INT utiliza 4bytes na memória, e o tipo bool, utiliza apenas 1. Em programinhas pequenos não faz a menor diferença, mas se você utilizar um computador antigo, vai sentir muita diferença, ou também se for um programa maior.

Falou galera! Postem as dúvidas!

Postado

boa...estive olhando um código...

e dizia assim:

case 2: bool achou = false;

no comentario dizia ser uma FLAG

dentro desse case tem um if e se a condição fosse verdadeira achou retornava true...

seria necessario essa flag ,é tipo uma inicialização de variável? pois esse tipo bool nao está declarada junto das demais variaveis.

Postado

Uma bandeira levantada significa que algo aconteceu.

Se eu quero sair de um while ao encontrar uma certa chave (para encontrar a posição dela em um vetor, por exemplo) eu uso uma flag:

[b]char c=0;[/b]int chave=10, i, tam;int vetor*;
/* inicializa vetor (tam=tamanho dele)*/i=-1;do{   i++;   if(vetor[i]==chave)   {      [b]c=1;[/b]   }}while((i<tam) && [b](c==0)[/b]);
(...)

Nesse código utilizei um char como uma flag!

Poderia ter sido um inteiro também...

É só isso mesmo. Simples assim.

-

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades 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

×
×
  • Criar novo...