Ir ao conteúdo
  • Cadastre-se
Julieth Lima

Código em c++ para calcular o valor de um carro.

Recommended Posts

Olá, tenho que criar um código que calcule o valor de um carro 0km, para a Atividade Estruturada de Algoritmos, só que estou tendo alguns problemas com a execução dele. O professor pediu para desenvolver com base na estrutura sequencial, estrutura de decisão e estrutura de repetição. E obrigatoriamente:

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.

 

E isso foi o que consegui fazer até agora:

 

#include<cstdlib>
#include<iostream>
using namespace std;

int main(void){
    int a,sair,cont,i;
    float valor,vl1,vl2,vl3,total;
    char carro;
    cout<<"\nMonte o seu carro\n";
    cout<<"\nDigite o valor do veiculo:\n";
    cin>>valor;
    cout<<"\n------------ Opcionais ------------\n";
    cout<<"\n1 - Trio Eletrico (alarme, vidros e travas eletricos)\n";
    cout<<"\n2 - Ar Condicionado\n";
    cout<<"\n3 - Direcao Hidraulica\n";
    cout<<"\n4 - Completo\n";
    cout<<"\n0 - Nenhum Opcional\n";
    cout<<"\nDigite o Codigo do Opcional desejado:\n";
    cin >>a;
    
    if (a==1) { vl1 =(valor/2)*100 ;total=(valor+vl1) ;}
    if (a==2) { vl2 =(valor/2)*100 ;total=(valor+vl1+vl2);}
    if (a==3) { vl2 =(valor/2)*100 ;total=(valor+vl1+vl2+vl3);}
    if (a==4) { total=valor+((valor/3.5)*100);}
    if (a==0) { total==valor;}
        cout <<"\nDESEJA MAIS OPCIONAIS? [5-Sim] ou [6-Nao]?"<<endl;
        cin >>i;
        
            if(i==5)
                cout<<"\nDigite o Codigo do Opcional desejado:\n";
                cin >>a;
                    if (a==1) { vl1 =(valor/2)*100 ;total=(valor+vl1) ;}
                    if (a==2) { vl2 =(valor/2)*100 ;total=(valor+vl1+vl2);}
                    if (a==3) { vl2 =(valor/2)*100; total=(valor+vl1+vl2+vl3);}
                    if (a==4) { total=valor+((valor*3.5)/100);}
                    if (a==0) { total==valor;}
            if(i==6)
                cout<<"\nTotal Veiculo: R$:"<<total+valor<<endl;
                
    cout <<"\nDESEJA MAIS OPCIONAIS? [5-Sim] ou [6-Nao]?"<<endl;
        cin >>i;
                            
            if (i==5)
                cout<<"\nDigite o Codigo do Opcional desejado:\n";
                cin >>a;
                    if (a==1) { vl1 =(valor/2)*100 ;total=(valor+vl1) ;}
                    if (a==2) { vl2 =(valor/2)*100 ;total=(valor+vl1+vl2);}
                    if (a==3) { vl2 =(valor/2)*100; total=(valor+vl1+vl2+vl3);}
                    if (a==4) { total=valor+((valor/3.5)*100);}
                    if (a==0) { total=valor;}
            if(i==6)
                cout<<"\nTotal Veiculo:R$:"<<total+vl1+vl2<<endl;
                
system("pause");
return EXIT_SUCCESS;
system("pause");
system("exit");
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Seu programa é pouco claro. Como vai ter um contador de opcionais? Quando vamos comprar um carro não compramos 3 alarmes, isso é descabelado, possível algum louco sim compre até 10 alarmes mas teoricamente com 1 ja seria suficiente. >_<

Mas se o que você quer é fazer um contador de opcionais heis aqui um exemplo:
 

#include<cstdlib>
#include<iostream>
using namespace std;

enum op{ SAIR, TRIO_ELETRICO, AR_CONDICINADO, DIRECAO_HIDRAULICA, COMPLETO };

int main ( void ) {
    double valor;
    bool sair = false;
    int contador[COMPLETO] = {0};
    string produtos[] = {
        "no_name",
        "Trio Eletrico",
        "Ar Condicionado",
        "Direcao Hidraulica"
    };
    
    cout<<"Monte o seu carro\n";
    cout<<"Digite o valor do veiculo:\n";
    cin>>valor;    
    
    do{
        
        cout<<"1 - Trio Eletrico (alarme, vidros e travas eletricos)\n";
        cout<<"2 - Ar Condicionado\n";
        cout<<"3 - Direcao Hidraulica\n";
        cout<<"4 - Completo\n";
        cout<<"0 - Nenhum Opcional\n";
        cout<<"Digite o Codigo do Opcional desejado:\n";
        unsigned short int op;
        cin>> op;
    
    
        switch (op) {
            case TRIO_ELETRICO:        contador[TRIO_ELETRICO]++; break;
            case AR_CONDICINADO:       contador[AR_CONDICINADO]++; break;
            case DIRECAO_HIDRAULICA:   contador[DIRECAO_HIDRAULICA]++; break;
            case COMPLETO:             
                for ( int i=1; i < COMPLETO ; i++) {
                    contador[i]++;
                } 
                break;

            case SAIR: sair = true; break;
            default:   break;
        }
        system("cls");
    }while( !sair );
    
    //calcular preço
    
    
    
    //contador de opcionais
    for ( int i = 1; i < COMPLETO ; i++ ) {
        cout << produtos[i] << ": " << contador[i] << endl;
    }
    
    
    
    cin.ignore();
    return EXIT_SUCCESS;

}

você poderia calcular o preço total do carro a partir do array de contadores >_<

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

@vangodp Pois é também achei esquisito quando o professor colocou a questão de contar quantas vezes o acessório foi escolhido, mas depois de ver o seu código eu entendi que, o que o professor quer é que coloquemos em prática tudo o que foi exposto nas aulas.

Eu particularmente, sou leiga no assunto de programação, estou aprendendo só agora com a faculdade em andamento.

Obrigada por me ajudar! :D

Compartilhar este post


Link para o post
Compartilhar em outros sites
Citação

...eu entendi que, o que o professor quer é que coloquemos em prática tudo o que foi exposto nas aulas.

certamente sim. Não sei se ele ensinou enumeradores, do-while.... sinta-se livre de modificar a gosto seu código.
 

Pratique bastante a construir menus, faça inclusive sem que seu professor lhe mande fazer, pois posso lhe assegurar que quase todos seus programas vão levar um menu, quanto antes você se acostumar com eles antes será algo menos que entender. Quase sempre os menus tem essa aparência:
 

#include<cstdlib>
#include<iostream>
using namespace std;


int main ( void ) {
    

    bool sair = false;
    
    while ( !sair ){ //por enquanto sair no seja verdadeiro
        //mostrar opções
        cout<< "Escolha sua opcao.\n\n" 
            << "1 fazer isso\n"
            << "2 fazer aquilo\n"
            << "0 sair\n"
        << endl;
        
        //ler uma opção
        int op; 
        cin >> op;
        cin.clear(); cin.sync(); //Evita erros de leitura
        
        switch (op) {
            case 1:
                cout << "Op_1" << endl;
                break;
            case 2:
                cout << "Op_2" << endl;                
                break;
            case 0:
                sair = true;
                cout << "Adeus" << endl;
                break;
            default:
                cout << "Incorreto" << endl;
                break;
        }//fim do switch
        getchar(); //pausa
        system("cls");//limpatela
    }//fim do while
    

    return 0;
}//fim do main

você pode até guardar ele de modelo

  • Curtir 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×