O que eu errei no meu código, porque não roda o Switch em diante?

3 respostas
programação
Bianca_Paixao
#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);
}

3 Respostas

Dragoon

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);
}
Bianca_Paixao

Arrumei e continuou não processando esta parte :confused: /

Dragoon

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