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