Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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();
}Carregando comentários...