TrabalhosGratuitos.com - Trabalhos, Monografias, Artigos, Exames, Resumos de livros, Dissertações
Pesquisar

Resolução Alocação

Por:   •  10/8/2015  •  Trabalho acadêmico  •  2.571 Palavras (11 Páginas)  •  239 Visualizações

Página 1 de 11

#include

#include

#include

struct carro

{//Estrutura principal.

        char placa[7];

        int anoFabricacao;

        float valorAproximado;

        char modelo[20];

        char fabricante[20];

        carro *prox;

};

carro* inserirCarro()

{//Função que aloca, recebe os dados e retorna o valor para o main

        carro *novo = (carro*)malloc(sizeof(carro));//Alocação de memória

        printf("\n Endereco alocado: %p",novo);

        printf("\n Digite a placa: ");

        fflush(stdin);

        gets(novo->placa);

        printf("\n Digite o ano de fabricacao: ");

        scanf("%i",&novo->anoFabricacao);

        printf("\n Digite o valor aproximado: ");

        scanf("%f",&novo->valorAproximado);

        printf("\n Digite o modelo: ");

        fflush(stdin);

        gets(novo->modelo);

        printf("\n Digite o fabricante: ");

        fflush(stdin);

        gets(novo->fabricante);

        novo->prox = NULL;//O próximo do último é nulo, ou seja, não há.

        return(novo);

}

void mostrarCarros(carro * mc)

{//Mostra todos os carros inseridos.

        while(mc != NULL)

        {

           printf("\n -------- ");

           printf("\n Placa: %s",mc->placa);

           printf("\n Ano de fabricacao: %i",mc->anoFabricacao);

           printf("\n Valor aproximado: %.2f",mc->valorAproximado);

           printf("\n Modelo: %s",mc->modelo);

           printf("\n Fabricante: %s",mc->fabricante);

           mc = mc->prox;

        }

}

void buscarPelaPlaca(carro *bpp)

{//Função que busca através da placa.

        char placa[7];

        bool validaPlaca = false;

        printf("\n Digite a placa a ser buscada: ");

        fflush(stdin);

        gets(placa);

        while(bpp != NULL)

        {//Laço que percorre todos os carros já inseridos.

           if((strcmp(placa,bpp->placa))==0)

           {

                      printf("\n Ano de fabricacao: %i",bpp->anoFabricacao);

               printf("\n Valor aproximado: %.2f",bpp->valorAproximado);

               printf("\n Modelo: %s",bpp->modelo);

               printf("\n Fabricante: %s",bpp->fabricante);

               validaPlaca = true;

           }

           bpp = bpp->prox;

        }

        if(validaPlaca==false)

        {

                printf("\n Placa nao encontrada.");

        }

}

void contarCarros(carro *cc)

{//Função que conta quantos carros estão no pátio.

        int contador = 0;

        while(cc != NULL)

        {//Laço que percorre todos os carros já inseridos.

           contador++;

           cc = cc->prox;

        }

        printf("\n Existem %i carros no patio",contador);

}

void mostrarCarroMaiorValor(carro *mcmv)

{//Mostra o carro mais caro.

        carro *maiorValor;

        maiorValor = mcmv;

        while(mcmv != NULL)

        {//Laço que percorre todos os carros já inseridos.

           if(mcmv->valorAproximado > maiorValor->valorAproximado)

           {//Compara os valores para descobrir qual é o maior.

                     maiorValor = mcmv;

           }

           mcmv = mcmv->prox;

        }

        printf("\n Os dados do carro com maior valor sao: ");

        printf("\n Placa: %s",maiorValor->placa);

        printf("\n Ano de fabricacao: %i",maiorValor->anoFabricacao);

        printf("\n Valor aproximado: %.2f",maiorValor->valorAproximado);

        printf("\n Modelo: %s",maiorValor->modelo);

        printf("\n Fabricante: %s",maiorValor->fabricante);

}

void carrosIsentosDeIPVA(carro *ipva)

{//Mostra todos os carros com mais de 20 anos de fabricação.

        int anoAtual;

        printf("\n Digite o ano atual: ");

        scanf("%i",&anoAtual);

        while(ipva != NULL)

        {//Laço que percorre todos os carros já inseridos.

           if((anoAtual - ipva->anoFabricacao) >= 20)

           {

              printf(" Carro isento de IPVA");        

              printf("\n Placa: %s",ipva->placa);

              printf("\n Ano de fabricacao: %i",ipva->anoFabricacao);

              printf("\n Modelo: %s",ipva->modelo);

           }

           ipva = ipva->prox;

        }

}

void buscarPeloFabricante(carro *bpf)

{//Buscar pelo fabricante.

        char fabricante[20];

        bool validaFabricante = false;

        printf("\n Digite o fabricante a ser buscado: ");

        fflush(stdin);

        gets(fabricante);

...

Baixar como (para membros premium)  txt (7.1 Kb)   pdf (45 Kb)   docx (14.6 Kb)  
Continuar por mais 10 páginas »
Disponível apenas no TrabalhosGratuitos.com