Buscar

Grupo Básico I - Letra B

Esta é uma pré-visualização de arquivo. Entre para ver o arquivo original

#include<stdio.h>
#include<stdlib.h>
#define PMAX 500000
#define pcMIN 15000
int main()
{
 printf("Teste para voo!!\n\n");
 int nc, a;//-------------->Numero de conteiners, contador
 float pcc, pcg=0;//--------->Peso de cada conteiner, peso de carga
 struct ficha{
 long int bilhete;//---->Numero do bilhete
 int nv;//--------->Numero de volumes
 };
 struct ficha *pass;//--------->Ponteiro para uma estrutura
 
 int npass=0;//------------>Numero de passageiros
 int ntv=0;//-------------->Numero total de volumes
 float ppass=0;//------------>Peso dos passageiros
 int b=1;//---------------->Contador
 float pc;//----------------->Peso do combustivel
 int c;//------------------>Variável para o loop da contagem de bilhetes
 //Calculando o peso de carga
 do{
 printf("\nEntre com o numero de conteiners: ");
 scanf("%d",&nc);
 
 if (nc<0)
 printf("\nValor invalido");
 }while (nc<0);//Validação de Variável
 
 for (a=1; a<=nc; a++){
 do{
 printf("\nEntre com o peso do conteiner %d (Kg): ",a);
 scanf("%f",&pcc);
 
 if (pcc<0)
 printf("\nValor invalido");
 }while (pcc<0);//Validação de Variável
 
 pcg+= pcc;//pesoda cara + peso do conteiners
 }
 //Calculando o peso dos passageiros
 pass = (struct ficha*)malloc(b*sizeof(struct ficha));/* Locação de memoria - ALOCA 'b' para a struct. 
 ASSIM 'pass' PODE AGORA SER TRATADO COM UM VETOR COM 'b' POSIÇÕES*/
 if (!pass){
 printf("Erro de memoria!"); 
 exit(1);
 } //Alocação e teste de memoria
 
 do{
 pass = (struct ficha*)realloc(pass,b*sizeof(struct ficha));
 if (!pass){
 printf("Erro de memoria!");
 exit(1);
 } //Realocação e teste de memoria
 do{
 printf("\nPassageiro %d - Numero do bilhete: ",b);
 scanf("%ld",&pass[b-1].bilhete);
 
 if (pass[b-1].bilhete<0)
 printf("Entrada invalida!");
 }while (pass[b-1].bilhete<0);
 
 if (pass[b-1].bilhete!=0){
 printf("Passageiro %d - Numero de volumes: ",b);
 scanf("%d",&pass[b-1].nv);
 ppass+= 70 + 10*pass[b-1].nv; //Peso dos passageiros
 ntv+= pass[b-1].nv; //Numero total de volumes
 npass++; //Numero de passageiros
 b++;
 }
 }while(pass[b-1].bilhete!=0);
 //Calculando o peso do combustivel
 pc = PMAX - ppass - pcg;
 //Exibição
 printf("\n\n");
 
 for(c=0; c<npass; c++)
 printf("\nPassageiro %d - Bilhete: %ld",c+1,pass[c].bilhete);
 
 printf("\n\nNumero de passageiros: %d",npass);
 printf("\nNumero de volumes: %d",ntv);
 printf("\n\nPeso dos passageiros e seus volumes: %f Kg",ppass);
 printf("\nPeso de conteiners: %f Kg",pcg);
 printf("\nQantidade possivel de combustivel: %f litros",pc/10.0);
 (pc>=pcMIN) ? printf("\n\n\nDECOLAGEM APROVADA!") : printf("\n\n\nDECOLAGEM REPROVADA!");
 system("PAUSE>NULL");
 return 0;
}

Teste o Premium para desbloquear

Aproveite todos os benefícios por 3 dias sem pagar! 😉
Já tem cadastro?

Outros materiais