Jump to content
Fórum Script Brasil
  • 0

Duvida só pra avalia


Uzumakit
 Share

Question

TÍTULO

Quanto custa um carro 0km?

DESCRIÇÃO WEB AULA

Vamos desenvolver um programa que calcule o preço de um carro, considerando a inclusão de acessórios e impostos.

OBJETIVO

Desenvolver um programa completo com base nas estruturas aprendidas na disciplina:

Estrutura sequencial

Estrutura de decisão

Estrutura de repetição

COMPETÊNCIA/HABILIDADE

Entender os processos de desenvolvimento de um algoritmo.

Analisar um problema e apresentar soluções.

DESENVOLVIMENTO

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.

PRODUTO/RESULTADO

O programa que será entregue deverá atender aos requisitos descritos.

com base nisso fiz isso no olha de vocês entra entre o que se pede ?

#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;

}

Link to comment
Share on other sites

19 answers to this question

Recommended Posts

  • 0

Olá!

Olha sou pessimo em matematica e não estudo C++, então vou ser pouco util . . .

não tou conseguindo que saio o 2% ?

Eu não entendi o que você quis dizer, você teria como postar um exemplo do calculo realizado em cada opção . . .

Edited by Felipe-Petrópolis
Link to comment
Share on other sites

  • 0

Olá!

Como já disse sou pessimo em matematica e estou inciando em programação, mas . . .

Eu acho que é porque 30.000 não é interpretado como 30 mil e sim como 30, com algum valor depois da virgula,

Só prara confirmar 60600 não é o valor que você deseja e sim 30600?

Quando tentei aqui 30000.00 saiu 30600, sendo os 600 a porcentagem do calculo realizado, porem usei está formatação: valorTotal = valorFabrica + ( valorFabrica * 2 ) / 100; porque acho que o seu codigo não tava calculando a porcentagem, a não ser que eu esteja errado . . .

Edited by Felipe-Petrópolis
Link to comment
Share on other sites

  • 0

Olá!

Dei-me licença para 'palpitar' neste questão.

Se eu entendi o problema é obter 2%, Vejamos em 2 etapas.

Vou abstrair do problema o valor de R$30.000,00:

1ª ​Observe que C usa particularidades do sistema ANSI, ou seja, em 'C [.] ponto é usando para separa

decimais de inteiros, então se o usuário entrar$ 30.000

C interpreta: 30.0f (ou seja 30 inteiros e 0 decimais).

Será que intendemos essa parte!?!

2ª Se eu quero obter 2% de um número inteiro basta multiplicar ele por 0.02f está correto?!

Se eu quero obter a porcentagem de 2% e somar o valor simultaneamente então basta

multiplicar esse número por 1.02f está correto?!

Será que eu entendi essa parte!?

Uzumakit

O fragmento abaixo é de seu algoritmo

valorTotal = valorFabrica + valorFabrica*1.02F

Observei que se o usuário entra com: 30000.00

o resultado será: 30000.00 + 30000.00 * 1.02

30000.00 + 30600.00 [seguindo a regra das precedências]

= 60600.00

O resulta para valorTotal: 60600.00

Se sua intenção não era essa, então digamos que fosse:

valorTotal = valorFabrica*1.02F

Teremos o resultado que será: 30000.00 * 1.02

Assim valorTotal: 30600.00 (dando a devida formatação: R$30.600,00)

Será que está tudo correto ou eu entendi mal!?

Espero que toda essa 'falecia' tenha ajudado!

De qualquer forma Obrigado.

Edited by britivaldo
Link to comment
Share on other sites

  • 0

Olá!

Olha vamos tentar o seguinte:

Provavelmente este deve ser algum exercicio de algum curso, se for este o caso, muito provavelmente o mesmo veio com algum exemplo já calculado, sendo assim tente postar tal exemplo, caso ele não venha com o exemplo, tente você mesmo postar qual deveria ser o resultado do calculo de cada opção, não faça o calculo usando o programa que você criou, e sim você mesmo fazer manualmente o calculo pelo que você entendeu do problema.

Ex: aqui 30000, com as opções 1, 2, ou 3 sai 30600 , este valor é proximo aos corretos que você calculou manualmente ou proximos aos valores do exemplo do exercicio? sendo que a unica coisa que tive que modificar no seu codigo foi a parte em que eu e o britivaldo já haviamos citado anteriormente, das duas formas o programa gera a mesma saida aqui.

Edited by Felipe-Petrópolis
Link to comment
Share on other sites

  • 0

Olá!

3.5 % de 30000 = 1500?

5.0 % de 30000 = 1500

acho que 3.5 % de 30000 = 1050

- Fiz uma serie de alterações segundo o que entendi do problema:

if ( opcao == TRIO || opcao == AR || opcao == DIRECAO )
    {
       valorTotal = valorFabrica + valorFabrica * 2 / 100;
    }
  if ( opcao == COMPLETO )
    {
       float valorIpi = valorFabrica * 8 / 100;
       float extraAdicional = valorIpi + ( ( valorFabrica * 2 ) / 100 ) * 3;
       float valorDesconto = ( extraAdicional + valorFabrica ) * 3.5 / 100;
       valorTotal = valorFabrica + valorDesconto;
  }

- O que é para ser calculado no extraAdicional - acredito que seja valor ipi + os 2% de cada um dos opcionais 3 * 600

- No valorDesconto - acredito que seja para calcular 3.5 do extraAdicional + valorFabrica

- ValorTotal - é a soma de valorFabrica + valorDesconto

Por que assim do jeito que fiz quando entro com 30000 o calculo está dando 31197

- Tente ver se consegue os resultados corretos com o professor ou de onde você tirou o problema, acredito que é exatamente estes dados que faltam para resolvermos o problema . . .

Edited by Felipe-Petrópolis
Link to comment
Share on other sites

  • 0

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.

Link to comment
Share on other sites

  • 0

Olá!

Olha por alguma razão eu estava achando estranho esse seu problema, eu tinha a sensacao de estar vivendo um déjà vu, dei uma busca na net e encontrei estes Links:

https://www.scriptbrasil.com.br/forum/topic/179327-calculo-compra-carro-o-km/

http://forum.imasters.com.br/topic/536319-calculo-do-preço-de-automovel/

http://forum.imasters.com.br/topic/536040-menu-com-contagem-de-opcoes-c/

Tente dar uma olha neles e veja se consegue algo, talvez eu dê uma lida mais detalhada neles mais tarde.

Acredito que um deles vai resolver o seu problema . . .

Espero Ter Ajudado ! ! !

Link to comment
Share on other sites

  • 0

No meu entender da opção 4 temos:

valor_extra = carro * 0.06f; //é o mesmo que 6% do valor do carro, 6% pois são 3 opcionais que taxa 2% cada um.

valor_extra = valor_extra + carro * 0.08; //é valor_extra mais a taxa de IPI do valor do carro.

valor_extra = (valor_extra + carro) * (1 - 0.035f); //agora temos o (-)desconto de 3,5% do valor do carro.

valor_completo = valor_extra; //com todas as taxas, descontos e valor do carro e concluída a opção completa.

Será que estou certo ou errado!?

Tapatalk Mobile

Edited by britivaldo
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
      149.8k
    • Total Posts
      646.6k
×
×
  • Create New...