2)- A Transpetro de transporte de Petróleo e derivados apresentou a proposta a Petrobras para fazer o transporte de Petróleos e derivados da Plataforma P44 até a refinaria de Duque de Caxias a Reduque, baseado no tipo de derivado ela apresentou 2 tipos de soluções. O usuário deverá fornecer:
a) - Entrar com o tipo de Derivado (óleo, gás, Querosene)
- Entrar com a quantidade (m³/h) de cada produto
-Preço do metro cúbico por tipo de transporte escolhido (oleoduto ou gasoduto ou ainda através de navios)
b) O programa deverá calcular e mostrar
- A quantidade total de cada produto, o valor do frete e o nome do produto.
- O quantidade total em m³ de todos os derivados e o custo total do frete.
- Informar ainda se a Transpetro qual a solução mais adequadra (oleoduto ou Navio)
essa informação vai basear na quantidade de gás e outros derivados a ser transportado
Caso quantidade total de gás > quantidade total de ( óleo + Nafta) escolher Navio
caso quantidade de gás = quantidade total de ( óleo + Nafta) escolher indiferente
caso quantidade de gás < quantidade total de ( óleo + Nafta) escolher oleoduto.
#include
#define TAM 3
main()
{
char nome[TAM][20];
int x,opcao,f1=0,f5=0;
float quantidadeoil[TAM],quantidadegas[TAM],precogas,preconavio,qqtoil,qqtgas,fnav,fgas;
FILE*arq;
do
{
system("cls");
printf(" Menu Transpetro: ");
printf(" 1- Entrada de Dados: ");
printf(" 2- Le do arquivo: ");
printf(" 3- Exibe na Tela: ");
printf(" 4- Grava no Arquivo: ");
printf(" 5- Calculo das quantidades: ");
printf(" 6- calculo do frete: ");
printf(" 7- Exibe melhor solucao de transporte: ");
printf(" 8- sair ");
printf("Entre com a opcao: ");
scanf("%d",&opcao);
switch(opcao)
{
case 1 :
printf(" Entre com o preco do transporte em gasooduto: ");
scanf("%f",&precogas);
printf(" Entre com o preco do tranporte em navio: ");
scanf("%f",&preconavio);
for(x=0;x { fgetc(stdin); printf("
Entrar com o tipo de derivado:
"); fgets(nome[x],20,stdin); printf("
Quantidade total de oil:
"); scanf("%f",&quantidadeoil[x]); printf("
Quantidade total de gas:
"); scanf("%f",&quantidadegas[x]); system("cls"); f1=1;} break; case 2 : arq=fopen("jhuan", "rb"); if(arq==NULL) printf("
ARQUIVO NAO ENCONTRADO
"); else { fread(quantidadeoil,sizeof(quantidadeoil),1,arq); fread(quantidadegas,sizeof(quantidadegas),1,arq); fread(&precogas,sizeof(precogas),1,arq); fread(&preconavio,sizeof(preconavio),1,arq); system("cls"); printf("
Quantidade Transporteoil Preconavio Tipo de derivado
"); for(x=0;x { printf("
%.2f %.2f %.2f %.2f %s",quantidadeoil[x],quantidadegas[x],precogas,preconavio,nome[x]); printf("
");} break; } case 3: system("cls"); printf("
Quantidade Transporteoil Preconavio Tipo de derivado
"); for(x=0;x { printf("
%.2f %.2f %.2f %.2f %s",quantidadeoil[x],quantidadegas[x],precogas,preconavio,nome[x]); printf("
");} break; case 4: arq=fopen("jhuan","wb"); if(arq==NULL) printf("
ARQUIVO NAO ENCONTRADO
"); else { fwrite(quantidadeoil,sizeof(quantidadeoil),1,arq); fwrite(quantidadegas,sizeof(quantidadegas),1,arq); fwrite(&precogas,sizeof(precogas),1,arq); fwrite(&preconavio,sizeof(preconavio),1,arq); system("cls"); fclose(arq); } break; case 5: qqtoil=0; qqtgas=0; if(f1==1) { system("cls"); for(x=0;x { qqtoil=quantidadeoil[x]+qqtoil; qqtgas=quantidadegas[x]+qqtgas; printf("Quantidade de gas e oil %2.f e de gas %.2f ",qqtoil,qqtgas); printf("
"); f5=1; }} break; case 6: printf("
calcular o frete:
"); fnav=preconavio*qqtoil; fgas=precogas*qqtgas; printf("o valor do frete do navio: %.2f
e do gasoduto: %.2f
",fnav,fgas); break; case 7 : if (f1==1) printf(" A melhor solucao eh:
"); if (qqtgas printf ("A melhor solucao eh navio
"); else if(qqtgas=qqtoil) printf ("As duas opcoes sao indicadas para este caso
"); else printf ("melhor opcao oleoduto
"); break; case 8: printf("Fim do programa, a Transpetro agradece
"); break; default:("
A Transpreto agradece por usar o programa, Volte Sempre
");} system ("pause"); } while(opcao!=8); }