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;
}