Ir ao conteúdo

Posts recomendados

Postado
#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){
	float valor;
	float 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- NAO");
        scanf ("%i",&sn);
        
        if (sn == 1)
        {
        printf ("\t Seu carro ja esta liberado. \n");
        printf ("\t Volte Sempre. \n");
        }

       else if (sn == 2)
        {
        printf ("\t Seu carro nao 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- NAO");
        scanf ("%i",&sn);
        
        if (sn == 1)
        {
        printf ("\t Seu carro ja esta liberado. \n");
        printf ("\t Volte Sempre. \n");
        }

       else if (sn == 2)
        {
        printf ("\t Seu carro nao 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- NAO");
        scanf ("%i",&sn);
        
        if (sn == 1)
        {
        printf ("\t Seu carro ja esta liberado. \n");
        printf ("\t Volte Sempre. \n");
        }

       else if (sn == 2)
        {
        printf ("\t Seu carro nao esta liberado. \n");
        printf ("\t Tenha um Bom Dia. \n");
        }
		 system ("pause");
		 break;
	}
	getch();
// return(resultado);{
	/*minha ideia foi a seguinte, como setamos o valor para determinado tipo de carro, eu recuperei o tipo do carro
	multipliquei pela quantidade de dias que você vai usar o carro e você vai ter o resultado.
	agora falta só colocar os printf, estou sem meu notebook aqui no trabalho para adiantar isso pra ti, e aqui no pc não tenho nenhum compilador em C*
	só compilei pelo cdm e não apontou erro.*/
}

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 locação é %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 nao 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);
}

 

  • Curtir 1
Postado

@mosiah santos     aqui na função loc_carro  tem esse erro :

//recuperar o valor da diaricarro[k].valor;
//multiplicar a quantidade de dias pelo valor da diaria
valorfinaldeloc[k] = Carro[i].valor*dias;  /*<---- está sem os colchete para informa a  posição */
printf("Valor de locação é %d! \n Deseja locar carro?", valorfinaldeloc);//corrigido
Cliente[k].codigocar=codi;

 

  • Curtir 1
Postado

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.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.

 

nessa parte aqui nao me dá o valor da locacão sempre apararece 0.0

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!