• 0
Sign in to follow this  
filpesribeiro'

Linguagem C simples

Question

Ola alguém pode me ajuda com esse codigo não consigo mostra o resultado.

/*Criar  um  algoritmo  que  leia  o  preço  de  compra  e  o  preço  de  venda  de  100 
mercadorias. O algoritmo deverá imprimir quantas mercadorias proporcionam: 
a.  Lucro < 10% 
b.  10% <= lucro <= 20% 
c.  Lucro > 20%  */



#include<stdio.h>

int main(){


      float P_C[100], P_V[100];
      int x=0,z=1,lucro=0, mercadoriamenor10=0,mercadoriamenor20=0,mercadoriamaior20=0;
      for(x=0;x<3;x++){
      printf("Informe O preço DE COMPRA\n");
                      scanf ("%f", &P_C[x]);
            printf("Informe O preço DE VENDA:\n");
            scanf("%f",&P_V[x]);}
            lucro = 100*(P_V[x]-P_C[x])/P_C[x];
      
      if (lucro<1.10)
          {
          mercadoriamenor10=mercadoriamenor10++;
          }
       else
       {
      if (lucro<=1.10 && lucro<=1.2)
          {
          mercadoriamenor20=mercadoriamenor20++;
          }
      if (lucro>1.20)
      {
      mercadoriamaior20=mercadoriamaior20++;
      }
          
      
      printf ("Numero de mercadorias inferior a 10%% é %d\n",mercadoriamenor10);
      printf("Numero de mercadorias com lucro maior ou igual a 10%% e menor do que 20%%: %d\n", mercadoriamenor20);
      printf("Numero de mercadorias com lucro superior a 20%%: %d\n", mercadoriamaior20);
      }
      system ("pause");
      return 0;
      }

Edited by filpesribeiro'

Share this post


Link to post
Share on other sites

1 answer to this question

Recommended Posts

  • 0

#include<stdio.h>
#include<stdlib.h>
#define MAX 3


int main(){


      float P_C[MAX], P_V[MAX], lucro=0;
      int mercadoriamenor10=0,mercadoriamenor20=0,mercadoriamaior20=0;
      int x=0;
      

      for(x=0;x<MAX;x++){
                       
      printf("Informe O preço DE COMPRA\n");
      scanf ("%f", &P_C[x]);
      
      printf("Informe O preço DE VENDA:\n");
      scanf("%f",&P_V[x]);    
                  
                  }

            
       
           
            
      for(x=0;x<MAX;x++){
      
      lucro = 100*((P_V[x]-P_C[x])/P_C[x]);
      
      printf("lucro %f",lucro);
      if (lucro<10.0)
          {
          ++mercadoriamenor10;
          
          }
       else if(lucro>=10.0 && lucro<=20.0)
          {
          ++mercadoriamenor20;
          
          }
      else if (lucro>20.0)
      {
      ++mercadoriamaior20;

}
    }  
      printf ("Numero de mercadorias inferior a 10%% é %d\n",mercadoriamenor10);
      printf("Numero de mercadorias com lucro maior ou igual a 10%% e menor do que 20%%: %d\n", mercadoriamenor20);
      printf("Numero de mercadorias com lucro superior a 20%%: %d\n", mercadoriamaior20);
      
      
      system ("pause");
      return 0;
      
      
      }

Amigo fiz algumas alterações, primeiro fiz um for para coletar os dados e depois outro for para fazer uma pesquisa no array. Sei que existe formas melhores de se fazer esse algoritmo, mas todavia, está funcionando como pede o exercício. :)

if (lucro<=1.10 && lucro<=1.2)

Esse trecho do código está errado. Você está por exemplo querendo um número menor que 10 e menor que 20 !!! Estranho não.

Números de 0.0 a 1.2 corresponderam ao que você escreveu, no entando não é oque você quer, na verdade a intenção é obter valores entre essa faixa 1.10 a 1.20.

o correto é if(lucro >=1.10 && lucro <=1.20)

Edited by Ezequiel A. Ribeiro

Share this post


Link to post
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.

Sign in to follow this