Melhorei um pouco mais o código agora
#include <iostream>
using namespace std;
enum {NENHUM, TRIO, AR, DIRECAO, COMPLETO, SAIR};
void menuOpcoes() {
cout << "0- NENHUM\n";
cout << "1- Trio eletrico\n";
cout << "2- Ar Condicionado\n";
cout << "3- Direcao hidraulica\n";
cout << "4- Completo (Trio + Ar + Direcao)\n";
cout << "5- Sair\n";
cout << ">>";
}
float calcularValorTotal(int opcao, float valorFabrica) {
float valorTotal;
if (opcao == NENHUM) valorTotal = valorFabrica;
if (opcao == TRIO || opcao == AR || opcao == DIRECAO) valorTotal = valorFabrica + valorFabrica*1.02F;
if (opcao == COMPLETO) {
float valorIpi = valorFabrica * 0.02F;
float extraAdicional = valorIpi * 0.02F;
float valorDesconto = extraAdicional/0.35F;
valorTotal = valorDesconto;
}
return valorTotal;
}
int main (void) {
float valorFabrica, valorTotal;
int opcao=-1;
int contNenhum = 0, contTrio = 0, contAr = 0, contDirecao = 0, contCompleto = 0;
while (opcao != SAIR) {
cout << "Informe o valor de fabrica do carro:";
cin >> valorFabrica;
menuOpcoes();
cin >> opcao;
if (opcao < NENHUM || opcao > SAIR) {
cout << "Opco invalida\n";
} else if (opcao >= NENHUM && opcao < SAIR) {
if (opcao == NENHUM) {contNenhum++;}
else if (opcao == TRIO) {contTrio++;}
else if (opcao == AR) {contAr++;}
else if (opcao == DIRECAO) {contDirecao++;}
else if (opcao == COMPLETO) {contCompleto++;}
valorTotal = calcularValorTotal(opcao, valorFabrica);
cout << "Valor total do carro: " << valorTotal << endl;
}
};
cout << "Contador das escolhas:" << endl;
cout << "NENHUM = " << contNenhum << endl;
cout << "TRIO = " << contTrio << endl;
cout << "AR = " << contAr << endl;
cout << "DIRECAO = " << contDirecao << endl;
cout << "COMPLETO = " << contCompleto << endl;
return 0;
}