#include <stdio.h>
#include <conio.h>
#include <string.h>
#include <stdlib.h>
int i=0, j=0;
char tecla;
struct cadastro_cliente
{
int cod;
char nome [40];
char rua [30];
int numero;
int cpf;
int cnh;
char bairro [30];
char cidade [30];
int codigocar;
};
struct cadastro_cliente Cliente[50];
struct cadastro_carro
{
int codcar;
char modelo [20];
char marca [15];
char placa [15];
int tipocarro;
double valor ,finaldeloc;
int valorlocacao;//funcao nova
int status;
};
struct cadastro_carro Carro[50];
int cad_cliente(void);
int list_cliente(void);
int cad_carro(void);
int tipodocarro(void);
int loc_carro(void);
int mostra_clientes(void);
int devo_carro(void);
int dias(void);//funcao nova
int valor(void); //funcao nova
int calc (void){
}
int cad_cliente (void)
{
printf("Cadastro %d de 50\n", j);
if (j<50)
{
printf("Digite o codigo do Cliente: ");
scanf("%d", &Cliente[j].cod);
fflush(stdin);
printf("Digite o nome do Cliente: ");
gets(Cliente[j].nome);
printf("Digite o CPF do Cliente: ");
scanf("%d", &Cliente[j].cpf);
fflush(stdin);
printf("Digite a CNH do Cliente: ");
scanf("%d", &Cliente[j].cnh);
fflush(stdin);
printf("Digite o nome da Rua: ");
gets(Cliente[j].rua);
fflush(stdin);
printf("Digite o numero da casa: ");
scanf("%d", &Cliente[j].numero);
fflush(stdin);
printf("Digite o nome do Bairro: ");
gets(Cliente[j].bairro);
fflush(stdin);
printf("Digite o nome da Cidade: ");
gets(Cliente[j].cidade);
j++;
}
return(0);
}
int list_cliente (void)
{
int k=0;
if(Cliente[k].cod != 0)
{
k++;
printf("\nNome do Cliente: %s\n", Cliente[k].nome);
getch();
}
return (0);
}
int tipo_do_carro (int tp)
{
double valor;
// 1 para basico, 2 para intemediario e 3 para executivo
if(tp == 1){
valor = 80.00;
}
if(tp == 2){
valor = 100.00;
}
if(tp == 3){
valor = 299.99;
}
if (tp == 0 || tp <= 4){
printf("tipo de carro não existe");
}
return(tp);
}
int cad_carro (void)
{
printf("Cadastro de carro %d de 50\n", i);
if(i<50)
{
printf("Digite o codigo do veiculo: ");
scanf("%d", &Carro.codcar); fflush(stdin); printf("Digite o modelo do carro: "); gets(Carro.modelo); fflush(stdin); printf("Digite a marca do carro: "); gets(Carro.marca); fflush(stdin); printf("Digite a placa do carro: "); gets(Carro.placa); fflush(stdin); printf("Tipo do Carro \n CARRO BASICO 1 \n CARRO INTERMEDIARIO 2\n CARRO EXECUTIVO 3 \n Digite o tipo do carro: "); scanf("%d", &Carro.tipocarro); printf("valor de locação (por dia): "); scanf("%f", &Carro.valorlocacao); fflush(stdin); tipo_do_carro(Carro.tipocarro); printf("%f", &Carro.valor); i++; } return(0); }
int loc_carro (void) { int k=0; char consulta[40]; char resposta; int codi; int dias; // valorfinaldeloc;//funcao nova int valor; //funcao nova fflush(stdin); printf("Digite o nome do cliente que quer locar um veiculo: "); gets(consulta); Reconsulta: for(k=0; k<50; k++) { if(consulta == Cliente[k].nome); { printf("Cliente cadastrado, deseja locar veiculo s/n: "); scanf("%c", &resposta); if(resposta == 's') { printf("Digite o codigo do Carro: "); scanf("%d", &codi); //quantos o cliente vai ficar com o carro. print("Quantos dias você deseja ficar com o carro?"); scanf("%d", &dias); scanf("%d",&valor); //funcao nova //recuperar o valor da diaricarro[k].valor; //multiplicar a quantidade de dias pelo valor da diaria valorfinaldeloc = Carro.valor*dias; printf("Valor de locação é %d "&valorfinaldeloc"!\n Deseja locar carro?");
Cliente[k].codigocar=codi; Carro[k].status= 1; // quando tiver o status 1 é porque está locado. //return(0); }; }; }; printf("Cliente nao Cadastrado"); return(0); }
int mostra_clientes (void) {
for (j=0; j<50; j++) { if(Cliente[j].codigocar != 0) { printf("Cliente: %c", Cliente.nome); printf("Marca do veiculo: %c", Carro.marca); } } return(0); }
int devo_carro (void) {
char dev, devolucao[40]; printf("Digite o Nome do Cliente que vai devolver o veiculo: "); scanf("%c", &devolucao); for (i=0; i<50; i++) { if(devolucao == Cliente.nome) { printf("Realizar devolucao s/n? "); scanf("%c", &dev); if (dev == 's') { Cliente.codigocar=0 ; Carro.status=0; } } } return(0); }
int main (void) { // variavel opcao serve para o menu int opcao=0; // signifa enquanto o menu for menor que 8 vai está em um loop do menu while(opcao<8) { printf("\n\nLOCADORA DE VEICULOS\n"); printf("..................\n\n"); printf("1 - CADASTRAR CLIENTE\n"); printf("2 - LISTAR CLIENTES CADASTRADOS\n"); printf("3 - CADASTRAR CARRO\n"); printf("4 - LOCAR CARRO\n"); printf("5 - CLIENTES COM CARROS LOCADOS\n"); printf("6 - DEVOLUCAO DE CARRO\n"); printf("7 - SAIR\n"); printf("Escolha uma opcao:"); fflush(stdin); scanf("%d", &opcao); switch(opcao) { case 1: cad_cliente(); break; case 2: list_cliente(); break; case 3: cad_carro(); break; case 4: loc_carro(); break; case 5: mostra_clientes(); break; case 6: devo_carro(); break; case 7: exit(0); break; default: printf("\nopcao invalida - tecle <enter>"); fflush(stdin); while ((tecla=getchar())!='\r') break; }/*fim do swith*/ }/*fim do while*/ getch();
return (0); }