Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include<stdio.h>
- #include<stdlib.h>
- #define MAX 500
- //structs
- struct TipoDados{
- float potencia, cilindradas, valvulas;
- };
- struct TipoVeiculo{
- char marca[30], modelo[40];
- int ano;
- float performace;
- struct TipoDados tecnicos;
- };
- //prototipos das funçoes
- void menu(struct TipoVeiculo veiculos[]);
- int performaceEstrutural(struct TipoVeiculo veiculos[]);
- void exibeTodos(struct TipoVeiculo veiculos[]);
- float maiorPerformace(struct TipoVeiculo veiculos[]);
- int main()
- {
- int contVeiculos;
- struct TipoVeiculo veiculos[MAX];
- menu(veiculos);
- contVeiculos=performaceEstrutural(veiculos);
- exibeTodos(veiculos);
- printf("\nQuantidade de veiculos com performace inferior a 150: %d\n",contVeiculos);
- return 0;
- }
- //Funçao menu
- void menu(struct TipoVeiculo veiculos[])
- {
- int i;
- for(i=0;i<MAX;i++){
- printf("\nFicha cadastral do veiculo %d.\n",i+1);
- printf("Marca: ");
- fflush(stdin);
- gets(veiculos[i].marca);
- printf("Modelo: ");
- fflush(stdin);
- gets(veiculos[i].modelo);
- printf("Ano: ");
- scanf("%d",&veiculos[i].ano);
- printf("Potencia: ");
- scanf("%f",&veiculos[i].tecnicos.potencia);
- printf("Cilindradas: ");
- scanf("%f",&veiculos[i].tecnicos.cilindradas);
- printf("Valvulas: ");
- scanf("%f",&veiculos[i].tecnicos.valvulas);}
- }
- //funçao para calcular a performace estrutural do veicul
- int performaceEstrutural(struct TipoVeiculo veiculos[])
- {
- int i, contVeiculos=0;
- for(i=0;i<MAX;i++)
- {
- if(veiculos[i].tecnicos.valvulas>=16){
- veiculos[i].performace=((veiculos[i].tecnicos.potencia*3)+veiculos[i].tecnicos.potencia)/veiculos[i].tecnicos.valvulas;
- if(veiculos[i].performace<150)
- contVeiculos++;}//soma quantidade de veiculos com performace inferior a 150
- else{
- veiculos[i].performace=((veiculos[i].tecnicos.potencia*3)+veiculos[i].tecnicos.potencia)/veiculos[i].tecnicos.valvulas;
- if(veiculos[i].performace<150)
- contVeiculos++;}//soma quantidade de veiculos com performace inferior a 150
- }
- return contVeiculos;
- }
- //funçao exibe tods s veiculos
- void exibeTodos(struct TipoVeiculo veiculos[])
- {
- int i;
- system("cls");
- for(i=0;i<MAX;i++)
- {
- printf("Ficha cadastral do veiculo %d.\n",i+1);
- printf("Marca: %s\n",veiculos[i].marca);
- printf("Modelo: %s\n",veiculos[i].modelo);
- printf("Ano: %d\n",veiculos[i].ano);
- printf("Potencia: %.2f\n",veiculos[i].tecnicos.potencia);
- printf("Cilindradas: %.2f\n",veiculos[i].tecnicos.cilindradas);
- printf("Valvulas: %.2f\n",veiculos[i].tecnicos.valvulas);
- printf("Performace Estrutural: %.2f\n\n",veiculos[i].performace);
- }
- printf("Maior performace estrutural: %.2f\n",maiorPerformace(veiculos));
- }
- //funçao que calcula a maior performace
- float maiorPerformace(struct TipoVeiculo veiculos[])
- {
- int i;
- float aux=0;
- for(i=0;i<MAX;i++)
- if(veiculos[i].performace>aux)
- aux=veiculos[i].performace;//separa a maior performace
- return aux;
- }
Advertisement
Add Comment
Please, Sign In to add comment