Ir para conteúdo
Fórum Script Brasil
  • 0

Preciso De Ajuda,por Favor


Guest - Leonardo -

Pergunta

Guest - Leonardo -

alguém pode me ajudar nesse exercicio? eu não estou conseguindo faze-lo alguém pode me ajudar por favorrr?

Um comerciante deseja fazer o levantamento do lucro das 10 mercadorias que ele comercializa. Para isto mandou digitar uma linha para cada mercadoria com o nome, preço de compra (PC) e preço de venda (PV) das mesmas.

Fazer um programa utilizando a estrutura de repetição FOR que:

a) determine e escreva quantas mercadorias proporcionam:

- lucro < 10%;

- 10% < = lucro < = 20%;

- lucro > 20 %

cool.gif determine e escreva o valor total de compra e de venda de todas as mercadorias, assim como o lucro total;

Obs.: Adote um flag (uma condição) para encerrar o programa;

Regra: PV = PC + PC * lucro / 100.

Link para o comentário
Compartilhar em outros sites

2 respostass a esta questão

Posts Recomendados

  • 0

Beleza cara? cool.gif

Fiz esse código rapidinho... roda, mas a parte final de ordenação/escrita está com falhas. Estou sem tempo para mexer mais, mas deve ajudar.

Flws...

PS: Eu fiz para dois produtos para facilitar os testes, mas em quant você altera à vontade.

Se quebrar mais a cabeça, pode fazê-lo "genérico" - para qualquer quant de produtos - ótimo exercício, você precisaria de usar ponteiros tongue.gif

Boa sorte


#include <iostream>
#include <stdlib.h>

#define QUANT 2


char  lista[QUANT];
double  pc[QUANT], pv[QUANT], lucro[QUANT], lucro2[QUANT];
int	confirma=1, indice[QUANT];

void main(void)
{

// Solicita ao usuario a entrada dos dados

	do {
  	cout<<endl<<"Por favor, escreva o codigo do produto e seus respectivos precos de compra e venda"<<endl;
  for(int temp=0;temp<QUANT;temp++)
  	cin>>lista[temp]>>pc[temp]>>pv[temp];
  
  cout<<endl<<"A lista desejada é essa:"<<endl;
  for(int temp=0;temp<QUANT;temp++)
  	cout<<lista[temp]<<"\t"<<pc[temp]<<"\t"<<pv[temp]<<endl;


  	cout<<endl<<"Confirma? (digite 0 para sim)"<<endl;
  	cin>>confirma;
        }
	while(confirma!=0);

// Calculo lucro

	for (int temp=0;temp<QUANT;temp++)
        {
  lucro[temp]=(pv[temp] -pc[temp])*100;
        lucro[temp]=(lucro[temp])/pc[temp];
  lucro2[temp]=lucro[temp];
  };


// Ordenacao - bem simples

	for(int temp=0;temp<QUANT;temp++)
     {
   for(int temp2=0;temp2<QUANT;temp2++)
         {
    indice[temp]=temp;
          VOLTA:	if (lucro2[temp]<=lucro[temp2])
               {
        indice[temp]=temp2;
        lucro2[temp]=lucro[temp2];
        	if(temp=QUANT-1) goto VOLTA;
      	};
   };
      }
// Escrita

  cout<<endl<<"O lucro que produto tras é, na ordem decrescente:"<<endl;
	for(int temp=0;temp<QUANT;temp++)
       {
  cout<<lista[indice[temp]]<<"\t"<<lucro[indice[temp]]<<" %\t"<<pc[indice[temp]]<<"\t"<<pv[indice[temp]]<<endl;

    cout<<indice[temp]<<temp;

       };

    system("PAUSE");
}

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, caras! cool.gif

Eu fiz um algoritmo, mas como não havia enetndido perfeitamente a proposta do problema fiz uma adaptação: ao invés de usar a fórmula que você apontou em "regra" para o cálculo do preço de venda, usei-a para calcular o lucro. Pode até ter ficado sem sentido, mas foi só pra viabilizar a depuração do programa.

Você poderá fazer quaisquer refinamentos no código, de acordo com a sua conveniência.

#include <stdio.h>
#include <stdlib.h>

int num = 2;

struct Mercadoria
{
   float pvenda;
   float pcompra;
   float lucro;
   char nome[ 20 ];
};

struct Mercadoria m[ 2 ];

void le_valores();

void calculaLucro();

float calculaLucroTotal();
float calculaPcTotal();
float calculaPvTotal();

void printTotal();

main()
{
  le_valores();
     
  printTotal();
  
  system("PAUSE");
}

void le_valores()
{
   int i;
   
   for ( i = 0; i < num; i++ ) {
     scanf( "%s", &m[ i ].nome );
     scanf( "%f", &m[ i ].pcompra );
     scanf( "%f", &m[ i ].pvenda );
   }
}

void calculaLucro()
{
   int i;
   
   for ( i = 0; i < num; i++ ) {
     m[ i ].lucro = m[ i ].pcompra + m[ i ].pcompra * ( m[ i ].pvenda / 100 );
   }
}

float calculaPcTotal()
{
  float total = 0.0;
  int i;
  
  for ( i = 0; i < num; i++ ) {
     total += m[ i ].pcompra;
  }
     
  return total;
}

float calculaPvTotal()
{
  float total = 0.0;
  int i;
  
  for ( i = 0; i < num; i++ ) {
     total += m[ i ].pvenda;
  }
     
  return total;
}

float calculaLucroTotal()
{
  float total;
  
  total = calculaPcTotal() + calculaPcTotal() * ( calculaPvTotal() / 100 );
     
  return total;
}

void printTotal()
{
   int i;
   
   calculaLucro();
   
   printf( "\nLucro <= 10" );
   printf( "\n---" );
   
   for ( i = 0; i < num; i++ ) {
      if ( m[ i ].lucro <= 10 ) {
         printf( "\nNome da mercadoria: %s", m[ i ].nome );
         printf( "\nPreco de venda: %f", m[ i ].pvenda );
         printf( "\nPreco de compra: %f", m[ i ].pcompra );
         printf( "\nLucro: %f\n", m[ i ].lucro );
      }
   }
   
   printf( "\n---\n" );
   
   printf( "\n20 >= Lucro > 10" );
   printf( "\n---" );
   
   for ( i = 0; i < num; i++ ) {
      if ( m[ i ].lucro > 10 && m[ i ].lucro <= 20 ) {
         printf( "\nNome da mercadoria: %s", m[ i ].nome );
         printf( "\nPreco de venda: %f", m[ i ].pvenda );
         printf( "\nPreco de compra: %f", m[ i ].pcompra );
         printf( "\nLucro: %f\n", m[ i ].lucro );
      }
   }
   
   printf( "\n---\n" );
   
   printf( "\nLucro > 20" );
   printf( "\n---" );
   
   for ( i = 0; i < num; i++ ) {
      if ( m[ i ].lucro > 20 ) {
         printf( "\nNome da mercadoria: %s", m[ i ].nome );
         printf( "\nPreco de venda: %f", m[ i ].pvenda );
         printf( "\nPreco de compra: %f", m[ i ].pcompra );
         printf( "\nLucro: %f\n", m[ i ].lucro );
      }
   }
   
   printf( "\n---\n" );
   printf( "Total dos precos de venda: %f\n", calculaPvTotal() );
   printf( "Total dos precos de compra: %f\n", calculaPcTotal() );
   printf( "Lucro total: %f\n", calculaLucroTotal() );
}

Valeu! laugh.gif

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,3k
    • Posts
      652,4k
×
×
  • Criar Novo...