#include <iostream>
using namespace std;
int main () {
int opcao, meses;
double valor, juros;
const double desconto = 0.2;
cout << " Informe o valor do produto: " << endl;
cin >> valor;
cout << "FORMA DE PAGAMENTO" << endl;
cout << "-------------------------------------------------------" << endl;
cout << " 1. À vista " << endl;
cout << " 2. Cheque para trinta dias " << endl;
cout << " 3. Em duas vezes " << endl;
cout << " 4. Em três vezes " << endl;
cout << " 5. Em quatro vezes " << endl;
cout << " 6. A partir de cinco vezes " << endl;
cin >> opcao;
switch ( opcao ) {
case '1':
cout << " Desconto de 20 %:" << "" << valor - ( valor * desconto ) << endl;
break;
case '2':
if ( opcao == 2 || opcao == 3 || opcao == 4){
cout << " Mesmo preço à vista: " << " " << valor;
}
break;
case '5':
juros = valor * 0.03 * 4;
cout << "Juros de 3% ao mês: " << "" << juros + valor << endl;
break;
case '6':
cout << "O parcelamento será de quantos meses?" << endl;
cin >> meses;
juros = valor * 0.05 * meses;
cout << " Juros de 5% ao mês: " << "" << juros + valor << endl;
break;
default:
if ( opcao < 1 || opcao > 6 ) {
cout << " Opção inválida!!!" << endl;
}
break;
}
return (0);
}
O que eu errei no meu código, porque não roda o Switch em diante?
3 Respostas
a variavel int opcao (inteira) e na comparação do switch esta ‘1’ (ou seja, texto) deveria ser 1 a outra opção 2 e assim por diante.
Exemplo:
#include <iostream>
using namespace std;
int main () {
int opcao, meses;
double valor, juros;
const double desconto = 0.2;
cout << " Informe o valor do produto: " << endl;
cin >> valor;
cout << "FORMA DE PAGAMENTO" << endl;
cout << "-------------------------------------------------------" << endl;
cout << " 1. À vista " << endl;
cout << " 2. Cheque para trinta dias " << endl;
cout << " 3. Em duas vezes " << endl;
cout << " 4. Em três vezes " << endl;
cout << " 5. Em quatro vezes " << endl;
cout << " 6. A partir de cinco vezes " << endl;
cin >> opcao;
switch ( opcao ) {
case 1:
cout << " Desconto de 20 %:" << "" << valor - ( valor * desconto ) << endl;
break;
case 2:
if ( opcao == 2 || opcao == 3 || opcao == 4){
cout << " Mesmo preço à vista: " << " " << valor;
}
break;
case 5:
juros = valor * 0.03 * 4;
cout << "Juros de 3% ao mês: " << "" << juros + valor << endl;
break;
case 6:
cout << "O parcelamento será de quantos meses?" << endl;
cin >> meses;
juros = valor * 0.05 * meses;
cout << " Juros de 5% ao mês: " << "" << juros + valor << endl;
break;
default:
if ( opcao < 1 || opcao > 6 ) {
cout << " Opção inválida!!!" << endl;
}
break;
}
return (0);
}
Arrumei e continuou não processando esta parte
/
relate o que você faz, o que o programa deveria fazer e se tem erros?
Criado 20 de março de 2017
Ultima resposta 20 de mar. de 2017
Respostas 3
Participantes 2
Alura Sistemas operacionais: entenda seu conceito e suas funções Descubra o que são sistemas operacionais, suas funções e tipos. Aprenda tudo de forma clara e objetiva. Não perca tempo!
Casa do Codigo Orientacao a Objetos: Aprenda seus conceitos e suas... Por Thiago Leite e Carvalho — Casa do Codigo