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 sn;//funcao nova
	int esc;//funcao nova
	int dias;
	
	resultado = dias*Carro.tipocarro;
	//funcao nova
	printf("escolha a categoria para ser alugada: ");
	printf ("1- Basico");
    printf ("2- Intermediario");
    printf ("3- Executivo");
    scanf("%i",&esc);
    system ("cls");
    
    printf("confirmacao do aluguel");
    printf("1- confirmar");
    printf("2- voltar ");
    printf("3- sair");
    scanf("%i",&Opcao);
    
    if (Opcao==1)
    { 
    switch (esc)
	}
	//opcao 1
    case 1:
    	system ("cls");
    	printf("categoria basica");
    	printf("valor da diaria: R$ 80,00");
    	printf("quantos dias voce ira ficar com o carro ?");
    	scanf("");
    	printf("seu aluguel ficara no valor :");
    	printf("deseja alugar carro :");
    	printf("1- sim");
    	printf("2-nao");
    	scanf("");
    	 
    	 if (sn==1)
    	{
    	printf ("Seu carro ja esta liberado");
        printf ("Tenha um Bom Dia");	
		}
    	
    	 else if (sn==2)
    	{
    		printf ("Seu carro nao esta liberado");
            printf ("Tenha um Bom Dia");
		}
    	system ("pause");
    	break;
    	//opcao2
    	case 2:
    	system ("cls");
    	
    	printf("categoria intermediaria");
    	printf("valor da diaria: R$ 100,00");
    	printf("quantos dias voce ira ficar com o carro ?");
    	scanf("");
    	printf("seu aluguel ficara no valor :");
    	printf("deseja alugar carro :");
    	printf("1- sim");
    	printf("2-nao");
    	scanf("");
    	 
    	 if (sn==1)
    	{
    	printf ("Seu carro ja esta liberado");
        printf ("Tenha um Bom Dia");	
		}
    	
    	 else if (sn==2)
    	{
    		printf ("Seu carro nao esta liberado");
            printf ("Tenha um Bom Dia");
		}
    	system ("pause");
    	break;
    	//opcao3
    	case 3:
    	system ("cls");
    	
    	printf("categoria avançada");
    	printf("valor da diaria: R$ 300,00");
    	printf("quantos dias voce ira ficar com o carro ?");
    	scanf("");
    	printf("seu aluguel ficara no valor :");
    	printf("deseja alugar carro :");
    	printf("1- sim");
    	printf("2-nao");
    	scanf("");
    	 
    	 if (sn==1)
    	{
    	printf ("Seu carro ja esta liberado");
        printf ("Tenha um Bom Dia");	
		}
    	
    	 else if (sn==2)
    	{
    		printf ("Seu carro nao esta liberado");
            printf ("Tenha um Bom Dia");
		}
    	system ("pause");
    	break;
   else if(Opcao==2){
   
   	system ("cls");
   	printf("escolha a categoria para ser alugada: ");
	printf ("1- Basico");
    printf ("2- Intermediario");
    printf ("3- Executivo");
    scanf("%i",&esc);
}
    else if (Opcao==3){
    	system ("cls");
    	printf("voce voltar ao menu principal");
    	system ("pause");	
	}
	break;
    
    	
	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 = 100.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 locação (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.
		  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[i].valor*dias;
		  prntf("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.
		};
	 };
   };
   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   se programa está com alguns erros de compilação,  e ali na função tipo_do_carro  você tem um return que retorna  o mesmo valor de entrada tp  e deveria retornar o resultado que é valor,  então como esse código é bem extenso vai demorar para conseguir acertar .

Postado

Tem muitos erros que precisam ser corrigidos. Verifique o que o compilador está relatando e mude para consertar o bug.

 

Em muitos casos você usou apenas Carro.(...), que está causando erros porque é um vetor:

struct cadastro_carro Carro[50];

E para que fique funcionando corretamente, você deverá passar a posição no vetor pela função, por exemplo:

double calc (double resultado, int i)

E logo em seguida, alterar a linha do resultado para isto:

resultado = dias*Carro[i].tipocarro;

Encontrei erros também nessa linha, que está errada em escrita e também em sintaxe.

//Errado:
prntf("Valor de locação é %d "&valorfinaldeloc"!\n Deseja locar carro?");

//Correto:
printf("Valor de locação é %d!\n Deseja locar carro?", valorfinaldeloc);

Você colocou a variável no meio do texto e colocou o & utilizado no scanf de números ou caracteres únicos, que é um operador de endereço.

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,produto;
	int dias;
    int esc,car=0,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",&esc);
    
if (car==1)
    switch (esc);
    {
    	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");
	}
	}


	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 locação (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.
		  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[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);
}

eu refiz o codigo , mas o mesmo problema persiste

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!