ramontricolor12

LISTA 07 - Exercício 09

Aug 12th, 2013
33
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.09 KB | None | 0 0
  1. /*CABEÇALHO
  2.     Arquivo: LISTA 07 - Exercício 09(sem ponteiros e alocação dinamica).c
  3.     Objetivo: Permitir o cadastro de veículos calculando a sua perfomance.
  4.     Autor(a): Ramon Borges.
  5. */
  6.  
  7. struct dadosTec
  8. {
  9.     int potCV, cilindradas, numDeValvulas;
  10. };
  11.  
  12. struct veiculo
  13. {
  14.     char marca[30], modelo[40];
  15.     int anoFabric;
  16.     struct dadosTec dados;
  17. };
  18.  
  19. #include <stdio.h>
  20. #define MAX 2
  21. //PROTÓTIPO DE FUNÇÕES
  22. int cadastro(struct veiculo veiculos[], int numDeCadastros);
  23. float performanceEstrut(int potencia, int cilindradas, int qtdeValv);
  24. float exibir (struct veiculo veiculos[], int numDeCadastros);
  25.  
  26. int main()
  27. {
  28.     struct veiculo veiculos[MAX];
  29.     int i;
  30.     cadastro(veiculos, MAX);
  31.     exibir(veiculos, MAX);
  32.     return 0;
  33. }
  34.  
  35. int cadastro(struct veiculo veiculos[], int numDeCadastros)
  36. {
  37.     int i;
  38.     for(i = 0; i < numDeCadastros; i++)
  39.     {
  40.         printf("CADASTRO DE VEICULOS\n");
  41.         printf("--------------------\n");
  42.         printf("Informe a marca do veiculo: ");
  43.         fflush(stdin);
  44.         gets(veiculos[i].marca);
  45.         printf("\nInforme o modelo: ");
  46.         fflush(stdin);
  47.         gets(veiculos[i].modelo);
  48.         printf("\nInforme o ano de fabricacao: ");
  49.         scanf("%d", &veiculos[i].anoFabric);
  50.         printf("\nDados Tecnicos");
  51.         printf("\nInforme a potencia, cilindradas e o numero de valvulas do veiculo: ");
  52.         scanf("%d %d %d", &veiculos[i].dados.potCV, &veiculos[i].dados.cilindradas, &veiculos[i].dados.numDeValvulas);
  53.         system("cls");
  54.         printf("Veiculo Cadastrado com sucesso!!");
  55.         system("PAUSE");
  56.         printf("\n");
  57.         system("cls");
  58.     }
  59.     return 0;
  60. }
  61.  
  62. float performanceEstrut(int potencia, int cilindradas, int qtdeValv)
  63. {
  64.     float resul;
  65.  
  66.     if(qtdeValv >= 16)
  67.         resul = (float)((3 * potencia) + cilindradas) / qtdeValv;
  68.     else
  69.         resul = (float)((2 * potencia) + cilindradas) / qtdeValv;
  70.     return resul;
  71. }
  72.  
  73. float exibir (struct veiculo veiculos[], int numDeCadastros)
  74. {
  75.     int i, cont = 0;
  76.     float perfomance, maiorPerfom = 0;
  77.  
  78.     for(i = 0; i < numDeCadastros; i++)
  79.     {
  80.         printf("--------------------\n");
  81.         printf("%s\n", veiculos[i].marca);
  82.         printf("%s\n", veiculos[i].modelo);
  83.         printf("%d\n", veiculos[i].anoFabric);
  84.         printf("Dados Tecnicos\n");
  85.         printf("Potencia: %d\n", veiculos[i].dados.potCV);
  86.         printf("Cilindradas: %d\n", veiculos[i].dados.cilindradas);
  87.         printf("Num. de valvulas: %d\n", veiculos[i].dados.numDeValvulas);
  88.         printf("----------------------\n\n");
  89.         perfomance = performanceEstrut(veiculos[i].dados.potCV, veiculos[i].dados.cilindradas, veiculos[i].dados.numDeValvulas);
  90.         printf("Performance: %f\n", perfomance);
  91.         if(perfomance < 150)
  92.             cont++;
  93.         if(perfomance > maiorPerfom)
  94.             maiorPerfom = perfomance;
  95.         system("PAUSE\n");
  96.         system("cls");
  97.     }
  98.     printf("Quantidade de carros com performance menores que 150: %d\n", cont);
  99.     printf("Maior performance: %f\n", maiorPerfom);
  100.  
  101.     return 0;
  102. }
Advertisement
Add Comment
Please, Sign In to add comment