terça-feira, 19 de dezembro de 2017

Problema do caminhão de reabastecimento


Compartilhe!

O objetivo deste programa em C abaixo é verificar se o combustível existente no cilindro (de diâmetro d e comprimento h) do caminhão de João é capaz de suprir as demandas dos postos A, B e C; estes recebendo combustível se sua demanda for menor ou igual ao que há no caminhão.

Neste problema, João passa do posto A para o posto B e depois para o posto C, sempre nesta sequência.

#include <stdio.h>

int main(){

 float d, h, a, b, c, volumeC;

 scanf("%f %f %f %f %f", &d, &h, &a, &b, &c); //Entrada dos valores de diâmetro; comprimento; demandas dos postos A, B, C, respectivamente.

 volumeC = (3.14*((d/2)*(d/2))*h)*1000; //Volume do cilindro de combustível do caminhão em litros: pi*(raio^2)*h*1000.


 if (a<=volumeC){ //Verifica se o que há no cilindro supre a demanda do posto.
  volumeC -= a; //Se sim, desconta do cilindro o que foi usado no posto.
  printf("posto A foi reabastecido\n");
 } else 
  printf("posto A nao foi reabastecido\n"); //Caso não, não abastece e também não desconta do cilindro. 
 
 if (b<=volumeC){ //O mesmo que ocorre em A, ocorre com B e C.
  volumeC -= b;
  printf("posto B foi reabastecido\n");
 } else 
  printf("posto B nao foi reabastecido\n"); 

 if (c<=volumeC){
  volumeC -= c;
  printf("posto C foi reabastecido\n");
 } else 
  printf("posto C nao foi reabastecido\n"); 
 
 return 0;
}