• Olá Visitante, se gosta do forum e pretende contribuir com um donativo para auxiliar nos encargos financeiros inerentes ao alojamento desta plataforma, pode encontrar mais informações sobre os várias formas disponíveis para o fazer no seguinte tópico: leia mais... O seu contributo é importante! Obrigado.

Instrução If Else

Serr@no™

GF Ouro
Membro Inactivo
Entrou
Set 23, 2006
Mensagens
1,690
Gostos Recebidos
0
A instrução if-else tem a seguinte sintaxe:
if( <teste> )
<instrução 1>
else
<instrução 2>
ou simplesmente
if( <teste> )
<instrução 1>
No primeiro caso, se <teste> for true, então realizar-se-á a <instrução 1>, se for false passa para a <instrução 2>.
No segundo caso apenas se <teste> for true se poderá efectuar a <instrução 1>. Vejamos o seguinte exemplo prático:
#include <iostream>
using namespace std;


int main()
{
int a, b;


// pedir dois valores inteiros
cout<<"Introduza 2 valores inteiros: "<<endl;
cin>>a>>b;


if( a == b )
cout<<"Os valores são iguais!";
else
cout<<"Os valores sao diferentes!";


cin.get();
return 0;
}
No parãmetro de teste do if pode-se ter qualquer espressão, mas só será efectuada a instrução correspondente se o resultado dessa expressão for true.
Quem está a acompanhar este Tutorial, talvez se pergunte: Então e se eu quiser por mais que uma instrução? Aqui entra o conceito de scoop. Um scoop é sempre limitado por chavetas, por exemplo, existe o scoop da função main. Penso que com o seguinte exemplo as coisas se tornarão mais claras:
#include <iostream>
using namespace std;


int main()
{
int a, b;


// pedir dois valores inteiros
cout<<"Introduza 2 valores inteiros: "<<endl;
cin>>a>>b;


if( a == b ) {
cout<<"Os valores são iguais!";
cout<<"Vêm, foi usada outra instrução dentro deste if!";
}
else{
cout<<"Os valores são diferentes!";
}
cin.get();
}
Se a condição do if for true, ele realiza a instrução seguinte, e um scoop é um conjunto de instruções (também pode ter só uma como se vê no else).
Atenção que uma variável declarada dentro de um scoop deixa de existir fora dele! Exemplo:
#include <iostream>
using namespace std;


int main()
{
bool b = true;


if(b){ // entrará sempre pois b = true
int a = 4;
cout<<"a= "<<4;
}
a = 3; // ERRO!!!
/* a variavel só existe dentro do scoop em que foi declarada! */
}
 

Serr@no™

GF Ouro
Membro Inactivo
Entrou
Set 23, 2006
Mensagens
1,690
Gostos Recebidos
0
Operador Ternário

O operador ternário é um caso especial de if e tem a seguinte sintaxe:
( <teste> ) ? <instrução 1> : <instrução 2>;
Programa exempo em que o operador ternário afecta a variável a com o módulo da variável b. Para os mais esquecidos chama-se módulo de um número à sua versão positiva, exemplo: módulo de -1 é 1, módulo de 2 é 2, módulo de 0 é 0;
#include <iostream>
using namespace std;


int main()
{
int a, b;
cout<<"Introduza um número inteiro diferente de zero:";
cin>>b;


a = ( b>0) ? b : -b;
/* lê-se: o b é maior que 0? se sim retorna b : se não retorna -b */


cout<<"O modulo de "<<b<<" é "<<a;
cin.get();
}
 
Topo