BAC004-Informática-Prática-Fabiana C Guedes2
Comandos de Seleção -
Simples
Forma Geral
if (expressão)
comando1;
Expressão da Condição deve estar entre parênteses.
Caso tenha mais de um comando eles devem ser delimitados por chaves. Seria igual a:
SE <condição> ENTÃO
BAC004-Informática-Prática-Fabiana C Guedes3
Comandos de Seleção -
BAC004-Informática-Prática-Fabiana C Guedes4
Comandos de Seleção -
Simples
if(sexo_usuario=='f' && dia==8 && mes==3)
cout << "Parabens, mulher, pelo seu dia!";
BAC004-Informática-Prática-Fabiana C Guedes5
Comandos de Seleção -
Simples
/*ProgC020.cpp
Primeiro exemplo de estrutura condicional*/
#include <iostream>
#include <cstdlib>
using namespace std;
int main(){
cout << "Quantos anos voce tem? " << endl;
int anos;
cin >> anos;
if( anos < 30 ) //Toma decisão caso anos < 30
cout << "Voce e muito jovem!" << endl;
system("PAUSE");
return 0;
}
Faz o teste perguntando se (anos < 30)
Só executa se a condição for verdadeira
Sem as chaves só executa uma única linha de código.
BAC004-Informática-Prática-Fabiana C Guedes6
Comandos de Seleção -
Simples
//ProgC021.cpp - Programa que verificar se número é par ou impar
#include <iostream>
#include <cstdlib>
using namespace std;
int main (){
int num;
cout << "Digite o numero: ";
cin >> num;
if ((num % 2) == 0){
cout << "Numero par.\n";
}
if ((num % 2) == 1){
cout << "Numero impar.\n";
}
system("pause > null");
return 0;
}
BAC004-Informática-Prática-Fabiana C Guedes7
Estrutura Condicional -
BAC004-Informática-Prática-Fabiana C Guedes8
Comandos de Seleção –
Composta
Forma Geral
if (expressão)
comando1;
else
comando2;
Expressão da Condição deve estar entre parênteses.
Caso tenha mais de um comando eles devem ser delimitados por chaves.
BAC004-Informática-Prática-Fabiana C Guedes9
Comandos de Seleção –
BAC004-Informática-Prática-Fabiana C Guedes10
Comandos de Seleção –
Composta
if(media >= 60)
cout << "Aprovado!";
else
cout << "Exame!";
BAC004-Informática-Prática-Fabiana C Guedes11
Comandos de Seleção –
Composta
//ProgC022 - Teste de divisão por Zero
#include <iostream>
using namespace std;
int main(){
int dividendo, divisor;
float quociente;
cout << "Entre com o dividendo e o divisor, respectivamente: ";
cin >> dividendo >> divisor;
if (divisor != 0)
{
quociente = (float) dividendo / divisor;
cout << "O quociente e: " << quociente << endl;
}
else
cout << "Impossivel fazer a divisao. O divisor e igual a zero." << endl;
return 0;
}
Como a expressão lógica fornece o valor 0 (zero) para falso e diferente de zero para verdadeiro, se o valor for verdadeiro pode ser realizada a divisão. Se o valor for falso, o segundo número digitado foi zero.
BAC004-Informática-Prática-Fabiana C Guedes12
Comandos de Seleção -
Composta
// ProgC023.cpp - Programa que apresenta o comando de seleção composta - if
#include <iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main ( ){
int Numero, Palpite;
srand(time(NULL));
Numero = rand()%100;
cout << "\nAdivinhe o numero magico: ";
cin >> Palpite;
if (Palpite == Numero)
cout << "\n Voce ACERTOU!";
else
cout << "\n Voce errou! O correto era " << Numero;
system("PAUSE > null");
return 0;
}
srand() e rand() são funções para criar números
randomicamente. Neste caso pega números abaixo de 100.
Comando de seleção.Seria o comando: se Palpite = Numero então
escreva “Você Acertou!” senão
BAC004-Informática-Prática-Fabiana C Guedes13
Comandos de Seleção -
Aninhada
• Forma Geral:
if (<condição>){
comandos1;
...
}else if (<condição>) {
comandos2;
...
}
No senão faz outro teste.
if (<condição1>) { if (<condição2>) { comandos; ... } else { comandos; ... } } else { if (<condição3>) { comandos; ... } }
BAC004-Informática-Prática-Fabiana C Guedes14
Comandos de Seleção
Aninhados - Exemplo
//ProgC024.cpp - Estrutura if aninhada # include <iostream>
using namespace std; int main ( ){
int n1, n2, n3;
cout << "Digite 3 numeros: "; cin >> n1 >> n2 >> n3;
if (n1 > n2) if (n1 > n3)
cout << "O maior numero e: " << n1; else
cout << "O maior numero e: " << n3; else
if (n2 > n3)
cout << "O maior numero e: " << n2; else
cout << "O maior numero e: " << n3; return 0;
}
BAC004-Informática-Prática-Fabiana C Guedes15
Comandos de Seleção
Aninhados - Exemplo
//ProgC025.cpp - Exemplo IF Aninhado #include <iostream>
using namespace std; int main(){ float n1, n2, res;
char op;
cout << "Digite NUMERO OPERADOR NUMERO: "; cin >> n1 >> op >> n2;
if (op == '+') { res = n1 + n2;
cout << "O resultado da soma e: " << res; }
else
if (op == '-') { res = n1 - n2;
cout << "O resultado da subtracao e: " << res; }
else
if (op == '/') { res = n1 / n2;
cout << "O resultado da divisao e: " << res; }
else
if (op == '*') { res = n1 * n2;
cout << "O resultado da multiplicacao e: " << res;
} else
cout << "Operador invalido!"; cout << endl; return 0; } // fim main Entrada de Dados Soma Subtração Divisão Multiplicação
BAC004-Informática-Prática-Fabiana C Guedes16
Comandos de Seleção
Aninhados - Exemplo
//ProgC025a.cpp - Exemplo IF Aninhado #include <iostream>
using namespace std; int main() {
float n1, n2, res; char op;
cout << "Digite NUMERO OPERADOR NUMERO:"; cin >> n1 >> op >> n2;
if (op == '+') { res = n1 + n2;
cout << "O resultado da soma e: " << res; }
else if (op == '-') { res = n1 - n2;
cout << "O resultado da subtracao e: " << res; }
else if (op == '/') { res = n1 / n2;
cout << "O resultado da divisao e: " << res; }
else if (op == '*') { res = n1 * n2;
cout << "O resultado da multiplicacao e: " << res; }
else
cout << "Operador invalido!"; cout << endl; return 0; } // fim main Entrada de Dados Soma Subtração Divisão Multiplicação
BAC004-Informática-Prática-Fabiana C Guedes17
Comandos de Seleção
Múltipla - switch
Forma Geral
switch (expressão) {
case constante1 : seqüência de comandos1;
break;
case constante2 : seqüência de comandos2;
break;
...
case constanteN : seqüência de comandosN;
break;
default : seqüência de comandos;
}
BAC004-Informática-Prática-Fabiana C Guedes18
Comandos de Seleção
Múltipla - switch
// ProgC026.cpp - Programa que apresenta comando de selecao multipla
#include <iostream>
using namespace std;
int main ( ){
char Opcao;
cout << "\nDigite um numero: ";
cin >> Opcao;
switch (Opcao){
case '1' : cout << "um "; break;
case '2' : cout << "dois "; break;
case '3' : cout << "tres "; break;
}
return 0;
}
Comando de seleção switch. Testa o
conteúdo da variável Opcao. Se valor for 1, escreverá um; se valor for 2, escreverá dois; se valor for 3, escreverá três.
BAC004-Informática-Prática-Fabiana C Guedes19
Comandos de Seleção -
switch
//ProgC027.cpp - Calculadora com Case #include <iostream>
using namespace std; int main(){
float n1, n2, res; char op;
cout << "Digite NUMERO OPERADOR NUMERO: "; cin >> n1 >> op >> n2;
switch (op) { case '+':
res = n1 + n2;
cout << "O resultado da soma e: " << res; break;
case '-':
res = n1 - n2;
cout << "O resultado da subtracao e: " << res; break;
case '/':
res = n1 / n2;
cout << "O resultado da divisao e: " << res; break;
case '*':
res = n1 * n2;
cout << "O resultado da multiplicacao e: " << res; break;
default:
cout << "Operador invalido!"; } // fim switch return 0; } // fim main switch case Caso + Caso -Caso / Caso *
BAC004-Informática-Prática-Fabiana C Guedes20
Exemplo de If com condicional
string
//ProgC028 - Programa que faz teste com strings #include <iostream>
#include <string.h> using namespace std; int main(){
char nome[30];
cout << "\nDigite o seu nome: "; cin.getline(nome, 30, '\n');
if (strcmp(nome, "Fabiana") == 0)
cout << "\nO nome digitado foi: " << nome << "\n"; else
cout << "\nO nome digitado foi diferente de Fabiana"; return 0;
}
Biblioteca para manipulação de strings
Função que possibilita pegar nomes digitados com espaço
Função que compara se duas strings são iguais. Se retorna valor 0 elas são iguais, caso contrário são diferentes. Neste caso diferencia valores
maiúsculos de minúsculos. Permite ordenar de acordo com valores negativos e positivos.
BAC004-Informática-Prática-Fabiana C Guedes21
Tópicos para Discussão
Estruturas Condicionais
Simples
Compostas