Bem, pessoal. Bom dia/tarde/noite! Gostaria de saber se as exigências impostas pelo enunciado estão de acordo com o código desenvolvido ou se está errado/faltando alguma coisa. Poderiam me ajudar? Obrigado! CONTEXTUALIZAÇÃO: CÁLCULO DO PREÇO DE UM AUTOMÓVEL 0 KM DE UMA FÁBRICA.Uma fábrica de veículos novos necessita de um sistema para o cálculo do preço de um automóvel 0 km que varia de acordo com os opcionais que o cliente deseja. Há 4 possibilidades:
1- Trio elétrico (alarme, vidro elétrico e tranca elétrica);
2- Ar condicionado; 3- Direção hidráulica; 4- Completo (trio elétrico, ar condicionado e direção hidráulica). O valor acrescido depende do preço básico do carro do seguinte modo: 4.1- trio elétrico (alarme, vidro elétrico e tranca elétrica): 2% do valor de fábrica com IPI. 4.2- ar condicionado: 2% do valor de fábrica do modelo (sem o IPI). 4.3- direção hidráulica: 2% do valor de fábrica do modelo (sem o IPI). 4.4- completo (trio elétrico, ar condicionado e direção hidráulica): a soma dos acréscimos isolados.Os modelos completos estão com uma promoção adicional de 3.5% do valor total, sendo este composto pelo preço de fábrica acrescido dos opcionais e do valor do IPI.Você foi escolhido para desenvolver um programa em C++, que capture o valor de fábrica do modelo, isto é, sem o IPI e, a seguir, apresente na tela o menu de opcionais(com a opção 0 ? nenhum opcional), mostrando na tela o valor resultante da opção escolhida pelo usuário. O IPI dos automóveis é de 8% do valor de fábrica. Observações: 1- O programa deverá repetir até que o usuário não queira mais repetir, ou seja, deverá ter um menu com as opções dentro de uma estrutura de repetição (usar estrutura de repetição do-while e aestrutura do switch-case). 2- O programa deverá mostrar o valor total do automóvel, após a opção escolhida de opcionais pelo usuário. 3- Ao encerrar o programa, este deverá mostrar o total de vezes que cada opcional foi escolhido
#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;
}