Preciso de uma ajuda , o progama que estou desenvolvendo precisa calcular o valor do carro com a diaria dele, so que não estou conseguindo fazer com que ele calcule, help me
#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
//double calc (double resultado,int tp){
main (){
float valor,
produto;
int dias;
int tip;
int sn;
resultado = dias*Carro[i].tipocarro;
//funcao nova
printf("escolha a categoria para ser alugada: ");
printf ("1- Basico");
printf ("2- Intermediario");
printf ("3- Executivo");
scanf("%i",&tip);
switch (tip)
{
case 1:
printf("voce selecionou a opcao de carro basico:");
printf("o valor da diaria de :R$ 80,00");
printf("quantos dias vai ficar com o carro ?");
scanf("%f",&valor);
produto = 80*valor;
printf ("\t Seu aluguel vai ficar vai no valor de R$%.000f \n",produto);
printf ("\t Deseja alugar o carro: \n");
printf ("1- sim");
printf ("2- não");
scanf ("%i",&sn);
if (sn == 1)
{
printf ("\t Seu carro já esta liberado. \n");
printf ("\t Volte Sempre. \n");
}
else if (sn == 2)
{
printf ("\t Seu carro não esta liberado. \n");
printf ("\t Tenha um Bom Dia. \n");
}
system ("pause");
break;
case 2:
printf("voce selecionou a opcao de carro basico:");
printf("o valor da diaria de :R$ 150,00");
printf("quantos dias vai ficar com o carro ?");
scanf("%f",&valor);
produto = 150*valor;
printf ("\t Seu aluguel vai ficar vai no valor de R$%.000f \n",produto);
printf ("\t Deseja alugar o carro: \n");
printf ("1- sim");
printf ("2- não");
scanf ("%i",&sn);
if (sn == 1)
{
printf ("\t Seu carro já esta liberado. \n");
printf ("\t Volte Sempre. \n");
}
else if (sn == 2)
{
printf ("\t Seu carro não esta liberado. \n");
printf ("\t Tenha um Bom Dia. \n");
}
system ("pause");
case 3:
printf("voce selecionou a opcao de carro basico:");;
printf("o valor da diaria de :R$ 300,00");
printf("quantos dias vai ficar com o carro ?");
scanf("%f",&valor);
produto = 300*valor;
printf ("\t Seu aluguel vai ficar vai no valor de R$%.000f \n",produto);
printf ("\t Deseja alugar o carro: \n");
printf ("1- sim");
printf ("2- não");
scanf ("%i",&sn);
if (sn == 1)
{
printf ("\t Seu carro já esta liberado. \n");
printf ("\t Volte Sempre. \n");
}
else if (sn == 2)
{
printf ("\t Seu carro não esta liberado. \n");
printf ("\t Tenha um Bom Dia. \n");
}
system ("pause");
break;
}
getch();
// return(resultado);{
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 = 150.00;
}
if(tp == 3){
valor = 300.00;
}
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[i].codcar);
fflush(stdin);
printf("Digite o modelo do carro: ");
gets(Carro[i].modelo);
fflush(stdin);
printf("Digite a marca do carro: ");
gets(Carro[i].marca);
fflush(stdin);
printf("Digite a placa do carro: ");
gets(Carro[i].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[i].tipocarro);
// printf("valor de locacao (por dia): ");
//scanf("%f", &Carro[i].valorlocacao);
//fflush(stdin);
//tipo_do_carro(Carro[i].tipocarro);
//printf("%f", &Carro[i].valor);
i++;
}
return(0);
}
int loc_carro (void)
{
int k=0;
char consulta[40];
char resposta;
int codi;
int dias, valorfinaldeloc;
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.
printf("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[i].valor*dias;
printf("Valor de locacao é %d! \n Deseja locar carro?", valorfinaldeloc);//corrigido
Cliente[k].codigocar=codi;
Carro[k].status= 1; // quando tiver o status 1 é porque está locado.
};
};
};
printf("Cliente não Cadastrado");
return(0);
}
int mostra_clientes (void)
{
for (j=0; j<50; j++)
{
if(Cliente[j].codigocar != 0)
{
printf("Cliente: %c", Cliente[i].nome);
printf("Marca do veiculo: %c", Carro[i].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[i].nome)
{
printf("Realizar devolucao s/n? ");
scanf("%c", &dev);
if (dev == 's')
{
Cliente[i].codigocar=0 ;
Carro[i].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);
}