Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

walisontec

Novo codigo de locação de carros

Recommended Posts

Ola galera tinha deixado um codigo antigo aqui do meu primeiro codigo de locação de veiculo estou precisando de ajuda para por nele o cadastro bem simples de cliente e tamém formas de pagamento e por fim liberar locação vejam o codigo e quero uma ideia de codigo como postar dentro dele essas opções.

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// #define é utilizado para fazer substituições ao longo do ficheiro em que está localizado.

#define PALIO 0
#define UNO 1
#define GOL 2
#define STILO 3
#define BMW 4

// Programa de locação de carros muito eficiente que analisa os carros disponíveis, .....

// struct nome_da_estrutura { tipo_de_dado nome_do_membro; };

struct Carro {
   char tipo[25];
   char cor[15];
   char ano[11];
   int quantidade;
   int qtdEmprestado;
   double preco;
};

struct Pessoa {
  char nome[25];
  int idade;
};

struct Aluguel {
   int carro;
   int qtdDias;
   struct Pessoa pessoa;
};

struct Alugueis {
   struct Aluguel item[50];
   int quantidade;
};

struct Carro listaCarro[5];
struct Alugueis listaAluguel;

int qtdCarroDisponivel( struct Carro c ) {
   return ( c.quantidade - c.qtdEmprestado );
}

double valorAluguel( struct Aluguel a ) {
   return ( a.qtdDias * listaCarro[a.carro].preco );
}

void cadastraCarro() {
   // Palio
   strcpy(listaCarro[PALIO].tipo, "Palio");
   strcpy(listaCarro[PALIO].cor, "Verde");
   strcpy(listaCarro[PALIO].ano, "2000/2001");
   listaCarro[PALIO].quantidade = 5;
   listaCarro[PALIO].qtdEmprestado = 0;
   listaCarro[PALIO].preco = 100.0;

   // Uno
   strcpy(listaCarro[uNO].tipo, "Uno");
   strcpy(listaCarro[uNO].cor, "Prata");
   strcpy(listaCarro[uNO].ano, "2001/2002");
   listaCarro[uNO].quantidade = 5;
   listaCarro[uNO].qtdEmprestado = 0;
   listaCarro[uNO].preco = 120.0;

   // Gol
   strcpy(listaCarro[GOL].tipo, "Gol");
   strcpy(listaCarro[GOL].cor, "Vermelho");
   strcpy(listaCarro[GOL].ano, "2002/2003");
   listaCarro[GOL].quantidade = 5;
   listaCarro[GOL].qtdEmprestado = 0;
   listaCarro[GOL].preco = 150.0;

   // Stilo
   strcpy(listaCarro[sTILO].tipo, "Stilo");
   strcpy(listaCarro[sTILO].cor, "Amarelo");
   strcpy(listaCarro[sTILO].ano, "2003/2004");
   listaCarro[sTILO].quantidade = 3;
   listaCarro[sTILO].qtdEmprestado = 0;
   listaCarro[sTILO].preco = 300.0;

   // BMW
   strcpy(listaCarro[bMW].tipo, "BMW");
   strcpy(listaCarro[bMW].cor, "Preto");
   strcpy(listaCarro[bMW].ano, "2010/2011");
   listaCarro[bMW].quantidade = 3;
   listaCarro[bMW].qtdEmprestado = 0;
   listaCarro[bMW].preco = 750.0;
}

void menuPrincipal();
void calcula( int carro );

void cadastraPessoa( struct Aluguel a ) {
// a.pessoa
void mostraLogo();

    listaAluguel.item[listaAluguel.quantidade] = a;
 listaAluguel.quantidade++;
}

void mostraLogo() {
   system ("color 3f");
   system ("cls");
   printf ("\t=============================================================\n");
   printf ("\t=================== LOCACARROS AUTOMOTIVA ===================\n");
   printf ("\t=============================================================\n\n");
}

void mostraInformacao( int carro ) {
   struct Carro c = listaCarro[carro];
   mostraLogo();

   if( qtdCarroDisponivel(c) < 1 ) {
       printf( "\t Carro indisponível para locação! \n" );
       system("pause");
       menuPrincipal();
       return;
   }

   printf( "\t O modelo que voce escolheu e um %s. \n", c.tipo );
   printf( "\t Cor: %s Ano: %s \n", c.cor, c.ano );
   printf( "\t Valor da diaria: R$ %0.2f \n", c.preco );
   printf( "\t Quantidade disponível: %d \n", qtdCarroDisponivel(c) );
   printf( "\t Quantos dias voce pretende ficar com o carro ? " );
   calcula( carro );
}

void calcula( int carro ) {
   int escolha;
   struct Aluguel aluguel;

   scanf( "%d", &aluguel.qtdDias );

   if( aluguel.qtdDias < 1 )
       mostraInformacao( carro );

   aluguel.carro = carro;

   printf ("\t Seu aluguel vai ficar no valor de R$ %0.2f \n", valorAluguel(aluguel) );
   printf ("\t Deseja alugar o carro: \n");
   printf ("\t (1) SIM \n");
   printf ("\t (2) NAO \n");

   do {
      scanf( "%d", &escolha );
   } while( (escolha < 1) || (escolha > 2) );

   if( escolha == 1 ) {
       cadastraPessoa( aluguel );
       listaCarro[carro].qtdEmprestado++;
   }

   menuPrincipal();
}

void menuPrincipal()  {
   int escolha;

   do {
       mostraLogo();
       printf ("\t Escolha o carro para ser alugado:\n\n");
       printf ("\t (0) Palio  \n");
       printf ("\t (1) Uno    \n");
       printf ("\t (2) Gol    \n");
       printf ("\t (3) Stilo  \n");
       printf ("\t (4) BMW    \n");
       printf ("\t (5) Sair do Sistema    \n");
       scanf ("%d",&escolha);
   } while( (escolha < 0) || (escolha > 5) );

   switch( escolha ) {
       case 0 : mostraInformacao( PALIO ); break;
       case 1 : mostraInformacao( UNO ); break;
       case 2 : mostraInformacao( GOL ); break;
       case 3 : mostraInformacao( STILO ); break;
       case 4 : mostraInformacao( BMW ); break;
   }
}

main() {
   listaAluguel.quantidade = 0;
   cadastraCarro();
   menuPrincipal();
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa comece criando uma registro do tipo Cliente, e jogando nele os atributos que seu cliente vai ter.

depois crie um módulo para cadastrar esse cliente.

pretende utilizar somente o C puro ou C++?

 

[]s

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.