Ir ao conteúdo

Posts recomendados

Postado

Pessoal alguém poderia me ajudar, tenho que implementar um algoritmo em C que exiba o balanço do dia e o o número da entrega que proporcionou maior lucro (ou menor prejuízo) e o número da entrega que proporcionou o menor lucro (ou maior prejuízo), contudo não estou conseguindo a ultima parte.

isso que fiz até o momento

#include<stdio.h>
#include<string.h>
#include<stdlib.h>
int i, quant[6];
float s = 0, Balanco = 0, valor[6], distancia[6], consumo, combustivel, porcemLucro, lucro, gasto, c = 0, custo=0;
float ordena(){
    for(i = 0; i < 6; i++){
        printf("Digite distancia e valor: ");
        scanf("%f%f", &distancia[i], &valor[i]);
    }
}
int main(){



    printf("Digite a quantidade de entregas: ");
    scanf("%d", &quant[6]);
    ordena();
    printf("Digite o consumo de combustivel: ");
    scanf("%f", &consumo);
    printf("Digite o valor do combustivel: ");
    scanf("%f", &combustivel);
    printf("Digite a porcentagem de lucro por encomenda: ");
    scanf("%f", &porcemLucro);

    for(i = 0; i < 6; i++){
        s += valor[i];
        c += distancia[i];
        lucro = s * (porcemLucro/100);
        gasto = c*2 / consumo * combustivel;
        Balanco = lucro - gasto;

    }
    printf("\nBalanco geral R$%.2f\n", Balanco);
    printf("soma %f", s);

    for(i = 0; i < 6; i++){
            custo=((distancia[i] * 2) / 10) * combustivel - (valor[i] * (porcemLucro/100));


    }
    printf("\ncusto R$%.2f\n", custo);








 return 0;
}

 

  • Curtir 1
Postado

@aluucardt    você pode usar uma variável auxiliar para armazenar o maior e igualmente para o menor , verificando o número e assim adiciona nas variáveis auxiliares .

e pode ser assim :

for( i=0; i<quant[6]; i++ )
  {
    s      += valor[i];
    c      += distancia[i];
    lucro   = s * (porcemLucro/100);
    gasto   = c*2 / consumo * combustivel;
    Balanco = lucro - gasto;
    if( ! i )
    {
      maior_l = lucro; /// inicializar as variaveis com o primeiro valor
      menor_l = lucro;
    }
  }

 

Postado

voce tem uma função float ordena() que não ordena e também não retorna nenhum float. Qual o propósito?

 

Seu programa não está bom ainda:

  • teste o retorno de scanf(). É ingênuo seguir se não ler nada
  • declare as variáveis de controle dos loop DENTRO do for
  • use estruturas. /E mais simples
  • não use void f(void). Em geral é um erro
  • não use globais. Nunca. Por nenhuma razão.
  • entenda que 2 printf de 1 linha é algo muito mais lerdo e difícil de ler e alinhar que 1 printf de 2 linhas.

 

 

  • Curtir 1

Crie uma conta ou entre para comentar

Você precisa ser um usuário 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 comunidades 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

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!