Advertisement
PedroSG

Carro

Jun 8th, 2015
215
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.41 KB | None | 0 0
  1. #include <stdio.h>
  2. #include <string.h>
  3. #define MAX 15000
  4.  
  5. struct PLACA_VEICULO
  6. {
  7.     int numero;
  8.     char letra[3];
  9. };
  10.  
  11. struct VEICULO
  12. {
  13.     char combustivel[50],modelo[50],cor[10],proprietario[50],n_chassi[15];
  14.     int  ano;
  15.     struct PLACA_VEICULO placa;
  16.  
  17. };
  18.  
  19. int main()
  20.  
  21. {
  22.     struct VEICULO vet[MAX];
  23.     char flag,combustivel[10],letra,n_chassi[20];
  24.     int i, n, ano,digito;
  25.     flag = 's';
  26.     i=0;
  27.     do{
  28.         printf("Entre com o nome do proprietario:" );
  29.         scanf(" %[^\n]",vet[i].proprietario);
  30.         printf("Entre com o combustivel usado:" );
  31.         scanf(" %[^\n]",vet[i].combustivel);
  32.         printf("Entre com o modelo:" );
  33.         scanf(" %[^\n]",vet[i].modelo);
  34.         printf("Entre com a cor:" );
  35.         scanf(" %[^\n]",vet[i].cor);
  36.         printf("Entre com o numero do chassi:" );
  37.         scanf(" %[^\n]",vet[i].n_chassi);
  38.         printf("Entre com o ano do carro:" );
  39.         scanf("%d",&vet[i].ano);
  40.         printf("Entre com a placa do carro:" );
  41.         printf("3 letras: ");
  42.         scanf(" %[^\n]",vet[i].placa.letra);
  43.         printf("4 Digitos: ");
  44.         scanf("%d",&vet[i].placa.numero);
  45.         i++;
  46.         printf("Quer continuar? s(sim) ou n(nao):" );
  47.         scanf(" %c",&flag);
  48.     }while(flag == 's');
  49.     n = i;
  50.     printf("Entre com o ano em diante a ser impresso:");
  51.     scanf("%d",&ano);
  52.     printf("Entre com o combustivel para a selecao:");
  53.     scanf(" %[^\n]", combustivel);
  54.  
  55.     for(i=0 ; i<n ; i++){
  56.         if((ano <= vet[i].ano) && (strcmp(combustivel,vet[i].combustivel)==0)){
  57.             printf("\tProprietario: %s\n",vet[i].proprietario);
  58.             printf("\tCombustivel: %s\n",vet[i].combustivel);
  59.             printf("\tModelo: %s\n",vet[i].modelo);
  60.             printf("\tCor: %s\n",vet[i].cor);
  61.             printf("\tNumero de chassi: %s\n",vet[i].n_chassi);
  62.             printf("\tAno: %d\n",vet[i].ano);
  63.             printf("\tPlaca: %s-%d\n",vet[i].placa.letra, vet[i].placa.numero);
  64.  
  65.         }
  66.     }
  67.     printf("Entre com a letra desejada:");
  68.     scanf(" %c",&letra);
  69.     printf("Entre com o ultimo digito desejado:");
  70.     scanf("%d",&digito);
  71.     for(i=0 ; i<n ; i++){
  72.         if((vet[i].placa.letra[0] == letra) && (vet[i].placa.numero%10 == digito)){
  73.             printf("\tProprietario: %s\n",vet[i].proprietario);
  74.             printf("\tCombustivel: %s\n",vet[i].combustivel);
  75.             printf("\tModelo: %s\n",vet[i].modelo);
  76.             printf("\tCor: %s\n",vet[i].cor);
  77.             printf("\tNumero de chassi: %s\n",vet[i].n_chassi);
  78.             printf("\tAno: %d\n",vet[i].ano);
  79.             printf("\tPlaca: %s-%d\n",vet[i].placa.letra, vet[i].placa.numero);
  80.         }
  81.     }
  82.     printf("Entre com a letra desejada:");
  83.     scanf(" %[^\n]",n_chassi);
  84.     for(i=0 ; i<n ; i++){
  85.         if(strcmp(n_chassi,vet[i].n_chassi)==0){
  86.         printf("Entre com o novo proprietario:");
  87.         scanf(" %[^\n]", vet[i].proprietario);
  88.         }
  89.     }
  90.  
  91.     for(i=0 ; i<n ; i++){
  92.             printf("\tProprietario: %s\n",vet[i].proprietario);
  93.             printf("\tCombustivel: %s\n",vet[i].combustivel);
  94.             printf("\tModelo: %s\n",vet[i].modelo);
  95.             printf("\tCor: %s\n",vet[i].cor);
  96.             printf("\tNumero de chassi: %s\n",vet[i].n_chassi);
  97.             printf("\tAno: %d\n",vet[i].ano);
  98.             printf("\tPlaca: %s-%d\n",vet[i].placa.letra, vet[i].placa.numero);
  99.  
  100.     }
  101.     return 0;
  102. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement