Você está na página 1de 9

CONTROLE DE FLUXO

ESTRUTURA CONDICIONAL 3
Uma locadora tem as seguintes regra para aluguel de fitas:
• seg, ter e qua (2,3 e 4) um desconto de 30% no preço
normal; dom(1)  preço normal; qui, sex e sab (5,6 e 7) 
um acréscimo de 20% no preço normal.
• Aluguel de filmes comuns: preço normal,
lançamentos: acréscimo de 13% no preço normal
Desenvolver um programa para ler o preço normal em R$,
o dia a ser locado (1 a 7) a categoria do filme (C ou L).
Calcular e imprimir o preço final do aluguel. Considerando
que o cliente só pode alugar uma fita por 1 dia.
PF = 3.00 * 1.2 = 3.60
PF = 3.60 + 3.00 * 0,13 = 3.99

PN 3,00
entradas QUAL TESTE
PF = PN ‘PRIMEIRO’?
(inicio) para DIA = 1
DIA 5 se =
DIA DIA = 2,3 ou 4 PF = PN*0.7
DOMINGO PREÇO
se DIA = 5,6 ou 7 PF = PN*1.2 FINAL
Não
TIPO L sedevemos
só TIPO = L fazer
PF =teste
PF+PN*0,13
se for
para calcular algo PF 3.99
#include <iostream>
#include <string>
using namespace std;
main()
{
float PN, PF;
int DIA;
string TIPO;
cout<<"Ditite o preco normal\n";
cin>>PN;
cout<<"Digite o TIPO (C)COMUM (L)LANCAMENTO\n";
cin>>TIPO;
cout<<"QUAL O DIA DA LOCACAO 1,2,3,4,5,6 OU 7\n";
cin>>DIA;
PF=PN;
if ((DIA==2)||(DIA==3)||(DIA==4)) {
PF = PN-PN*0.3;
}
else if ((DIA==5)||(DIA==6)||(DIA==7))
{
PF = PN*1.2;
}
if((TIPO=='L')||(TIPO=='l'))
{
PF = PF+PN*0.13;
}
cout<<"O PRECO FINAL EH R$"<<PF<<endl;
system("PAUSE");
}
blockbustera.exe
Uso de um MENU de Opções para
executar Instruções
No desenvolvimento de um programa que precisa
executar uma variedade de instruções dependendo de
testes sucessivos (estrutura condicional aninhada)
Podemos utilizar um comando (case-switch) em que:
É oferecido um Menu de opções para executar as
intruções de cordon com a resposta ou seja a opção
selecionada.
Exemplo: Se a opção do menu escolhida foi:
estacinamento com
preços diferenciados
Opção 1 – mostro o horário inicio e final e preço
Menu Opção 2 – mostro o horário inicio e final e preço
Opção 1 – matutino Opção 3 – mostro o horário inicio e final e preço
Opção 2 – vespertino
Opção 3 – noturno
COMANDO CASE - SWITCH

RESPOSTA deve ser do TIPO


int ou

char (apenas um caracter)


switch(resposta)
{
case 'a': sentenças de instruções para a opção a ; break;
case 'b': sentenças de instruções para a opção b ; break;
case 'c': sentenças de instruções para a opção c ; break;
default: sentenças de instruções para entrada errada ; break;
}
if (tipo == 1){
taxa = 10;
}
Exemplo: switch (tipo){
else { para cada case 1:
if (tipo == 2) {
taxa = 8;
tipo de taxa = 10; break;
} empréstimo: case 2:
else {
if (tipo == 3){
1 a 5 tem que taxa = 8; break;
taxa = 6; ser aplicado case 3:
}
else {
uma taxa taxa = 6; break;
if (tipo == 4){ diferenciada case 4:
taxa = 4;
} taxa = 4; break;
else {
if (tipo == 5){
case 5:
taxa = 2; taxa = 2; break;
}
else {
default:
taxa = 0; taxa = 0.0;
}
}
}
}
}
}
#include <iostream>
using namespace std;
main()
{
float num1 = 0, num2 = 0; /* os dois números de entrada */
int menu = 1; /* adicionar, subtrair, dividir ou multiplicar */
float total = 0; /* o resultado do cálculo */
char tipo; /* o tipo do cálculo */
cout<<”Entre com o primeiro número \n\t";
cin>>num1;
cout<<"\n\nEntre com o segundo número\n\t";
cin>>num2;
cout<<"\n\n O que você quer fazer?\n\n";
cout<<"\t1 = adicionar\n";
cout<<"\t2 = subtrair\n";
cout<<"\t3 = multiplicar\n";
cout<<"\t4 = dividir\n";
cout<<"\n\nFaça a sua escolha:\n\t";
cin>>menu;
switch (menu) /* seleciona o tipo de cálculo */
{
case 1: total = numb1 + numb2;
tipo = '+';
break;
case 2: total = numb1 - numb2;
tipo = '-';
break;
case 3: total = numb1 * numb2;
tipo = '*';
break;
case 4: if( numb2 == 0) /* não pode ser dividido por zero */
cout<<"\n\n\tVocê não pode dividir por zero. 0\n\n");
else{
total = numb1 / numb2;
tipo = '/';}
break;
default: cout<<”Opção Inválida\n";
}
cout<<"\n\n\t<< numb1<< tipo<< numb2<<” = "<< total);

Você também pode gostar