Jump to content
Fórum Script Brasil
  • 0

Problema sinistro


Rômulo_SD

Question

Este exercicio tem um problema:

No intervalo se o preço do produto estiver entre 80 e 120

éra para aparecer a classificação "Normal"

mas só aparece normal até o valor 105, digitado pelo usuário,

porque isso acontece e como resolvo isso?

Obrigado

#include <iostream>

using namespace std;

int main()
{
    int p;
    cout << "Digite o preço do produto" << endl;
    cin>>p;

    if(p<=0)
    {
        cout<<"valor invalido"<<endl;
        return 0;
    }
    if (p<50)
    {
        p+=p*5/100;
        cout << "Este e o novo preço com aumento de 5%: "<<p<<endl;
    }
    if((p>=50) && (p<=100))
    {
        p+=p*10/100;
        cout << "Este e o novo preço com aumento de 10%: "<<p<<endl;

        if(p<80)
        {
            cout<<"Classificacao:Barato"<<endl;

        }

    }


    else if(p>100)
    {

        p+=p*15/100;
        cout << "Este e o novo preço com aumento de 15%: "<<p<<endl;
    }
    if ((p>=80)&&(p<=120))
        cout<<"Clasificacao:Normal"<<endl;


    if ((p>120) && (p<=200))
        cout<<"Classificacao:Caro"<<endl;
    if (p>200)
        cout<<"Classificacao:Muito Caro"<<endl;






    return 0;
}

Edited by kuroi
Adicionar tag CODE
Link to comment
Share on other sites

2 answers to this question

Recommended Posts

  • 0

Opa, o erro ocorre porque faltou você abriu e fechar { } (chaves).

Deveria ser assim:

if ((p>=80)&&(p<=120))
 {
    cout<<"Clasificacao:Normal"<<endl; 
 }
Dicas: 1) Procure colocar os códigos dentro de tag code, para facilitar o nosso entendimento, pois da forma que você colocou fica muito "bagunçado" para ler. 2) Como se trata de varios "if", eu aconselharia fazer um "switch", para facilitar o entendimento, e você não se perder, é apenas uma dica, mas fica ao seu critério. Caso não saiba fazer, poste ai que te ajudo. 3) Eu faria assim:
#include <iostream>
#include <stdlib.h>

using namespace std;

   int main()
   {

      int p=0;
      cout << "Digite o preço do produto:" << endl;
      cin>>p;


      if(p<=0){
          cout<<"valor invalido"<<endl;
          system("pause");
          return 0;}

      if (p<50){    
          p+=p*5/100;
          cout << "Este e o novo preço com aumento de 5%: "<<p<<endl;}

   
      if((p>=50 && p<=100)){
           
           p+=p*10/100;
           cout << "Este e o novo preço com aumento de 10%: "<<p<<endl;
            
           if(p<80){
           cout<<"Classificacao:Barato"<<endl;}  
      } 


      if(p>100)
      {
            p+=p*15/100;
            cout << "Este e o novo preço com aumento de 15%: "<<p<<endl;

            //Se produto é maior do que 100, certamente é maior do que 80.(p>=80)
            //Poderia usar apenas uma condição
            if (p<=120){
                cout<<"Clasificacao:Normal"<<endl;}

                     
            if ((p>120) && (p<=200)){
            cout<<"Classificacao:Caro"<<endl;}
                       
    
            if (p>200){
            cout<<"Classificacao:Muito Caro"<<endl;} 

      }
   system("pause");
   return 0;

}//main

Edited by Prog_Junior
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.



  • Forum Statistics

    • Total Topics
      152.2k
    • Total Posts
      652k
×
×
  • Create New...