Jump to content
Fórum Script Brasil
  • 0

CÁLCULO DO PREÇO DE UM AUTOMÓVEL 0 KM


EderPaulo
 Share

Question

alguém pode me ajudar com esse algoritmo

CÁLCULO DO PREÇO DE UM AUTOMÓVEL 0 KM

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. Existem três itens opcionais:

1- Trio elétrico (alarme, vidro elétrico e tranca elétrica);

2- Ar condicionado;

3- Direção hidráulica;

O valor acrescido para cada item está relacionado ao preço básico do carro da seguinte forma:

1- trio elétrico: 2% do valor de fábrica sem o IPI.

2- ar condicionado: 2% do valor de fábrica sem o IPI.

3- direção hidráulica: 2% do valor de fábrica sem o IPI.

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, a partir do valor de fábrica do modelo, isto é, sem o IPI, calcule o preço final para venda.

Para a seleção dos acessórios, considere a elaboração de um menu em que a “opção 0” seja equivalente a “nenhum opcional”.

O IPI dos automóveis é de 8% do valor de fábrica.

Observações:

1- O programa deverá ser executado continuamente até que o usuário indique que não deseja mais continuar.

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.

Link to comment
Share on other sites

1 answer to this question

Recommended Posts

  • 0
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;
}
Edited by spikenih
Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share



  • Forum Statistics

    • Total Topics
      150.1k
    • Total Posts
      647.1k
×
×
  • Create New...