Ir ao conteúdo

Posts recomendados

Postado

olá pessoal, estou aprendendo a utilizar o DEV C++ e a programar, não estou conseguindo evoluir para finalizar o programa que estou tentando fazer. Preciso de ajuda, anexei o código fonte

[Error] expected ';', identifier or '(' before 'struct'

In function 'cadastrocar':

In function 'mostraInf':

 

 

erro.txt

erro.txt

  • Curtir 1
Postado

Olá, corrige este erro porém ainda aparecem outros.

Esta aparecendo um ero de struct, preciso informar mais alguma coisa?

 

 

#include<stdio.h>
#include<stdlib.h>
#include <string.h>
#include<conio.h>
#include<windows.h>  // titulo do programa
#define SIZE 200
#define CELTA
#define GOL
#define PALIO

char nome[SIZE] [50];
char email[SIZE] [50];
char cpf [SIZE];
char celta [50];
char gol [50];
char palio [50];
int op, opcao;
void cadastrocli();
void pesquisa();
void lista();
void cadastrocar();
void mostraInf();
void calcula();

struct car{
	char tipo[25];
   	char cor[15];
   	char esp[15];
   	int quantidade;
   	int qtdEmprestado;
   	double preco;
}
struct Aluguel{
   int carro;
   int qtdDias;
   struct Pessoa pessoa;
}

struct Alugueis{
   struct Aluguel item[50];
   int quantidade;
}

struct Pessoa {
  char nome[25];
  int idade;
}

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 );
}

int main (void){
	SetConsoleTitle("Legal Rent a Car");
	cadastrocli();
	cadastrocar();
	mostraInf();
	calcula();
	lista();
	//pesquisa();
	do{
		system("cls");
		printf("--------------------------------------------------------------------------------\n");
		printf("\t\t\t\t LOCADORA DE VEICULOS            \n\n");
		printf("\t\t\t\t LEGAL RENT A CAR                \n\n");
		printf("--------------------------------------------------------------------------------\n\n\n");
		printf("1- CLIENTE\n");
		printf("2- VEICULO\n");
		printf("3- LOCACAO\n");
		printf("4- RELATORIOS\n");
		printf("5- SAIR\n");
		printf("--------------------------------------------------------------------------------\n");
		printf("\n Qual Opcao voce Deseja Acessar? ");
		scanf("%d", &opcao);
		system("cls");
		switch(op){
			case 1:
				cadastrocli();
				break;
			case 2:
				cadastrocar();
				break;
			case 3:
				lista();
				break;
			case 4:
				mostraInf();
				break;
			case 5:
				system("exit");
				break;
			default:
				printf("\nOpcao Invalida, Tente Novamente\n");
				break;						
		}
		
	}while(op!=5);
	system("pause");
	return 0;
}
void lista(){
	int i;
	for(i=0;i<SIZE;i++){
		if(cpf[i]>0){
			printf("\nNome: %s\nEmail: %s\nCPF: %d", nome[i], email[i], cpf[i]);
		}else{
			break;
		}
	}
}
void cadastrocli(){
	static int linha;
	do{
		printf("\nDigite o Nome: ");
		scanf("%S", &nome[linha]);
		printf("\nDigite o Email: ");
		scanf("%s", &email[linha]);
		printf("\nDigite o CPF: ");
		scanf("%d", &cpf[linha]);
		printf("\n\nDigite 1 para continuar e outro valor para sair \n");
		scanf("%d", &op);
		linha++;
	}while(op==1);	
} // fim da opcao de cadastro cliente
void pesquisa(){
	int cpfPesquisa;
	char emailPesquisa [50];
	char nomePesquisa[50];
	int i;
	do{
		printf("\nDigite 1 para pesquisar por CPF, 2 para pesquisar por email ou 3 para pesquisar por nome\n");
		scanf("%d", &op);
		switch(op){
			case 1:
				printf("\nDigite o CPF: ");
				scanf("%d", &cpfPesquisa);
				for(i=0;i<SIZE;i++){
					if(cpf[i]==cpfPesquisa){
						printf("\nNome: %s\nEmail: %s\nCPF: %d", nome[i], email[i], cpf[i]);
					}
				}
				break;
			case 2:
				printf("\nDigite o Email: ");
				scanf("%s", &emailPesquisa);
				for(i=0;i<SIZE;i++){
					if(strcmp(email[i], emailPesquisa)==0){
						printf("\nNome: %s\nEmail: %s\nCPF: %d", nome[i], email[i], cpf[i]);
					}
				}			
				break;
			case 3:
				printf("\nDigite o Nome: ");
				scanf("%s", &nomePesquisa);
				for(i=0;i<SIZE;i++){
					if(strcmp(nome[i], nomePesquisa)==0){
						printf("\nNome: %s\nEmail: %s\nCPF: %d", nome[i], email[i], cpf[i]);
					}
				}	
				break;
			case 4:
				exit(0);
				break;
			default:
				printf("\nOpcao Invalida, Tente Novamente\n");			
				break;	
		}
		printf("\nDigite 1 para continuar pesquisando\n");
		scanf("%d", &op);
	}while(op==1, op!=0);
} // fim da opcao pesquisa

void cadastrocar(){

	strcpy(listaCarro[CELTA].tipo, "Celta");
   	strcpy(listaCarro[CELTA].cor, "Prata");
   	strcpy(listaCarro[CELTA].esp, "Com AR");
   	listaCarro[CELTA].quantidade = 5;
   	listaCarro[CELTA].qtdEmprestado = 0;
   	listaCarro[CELTA].preco = 80.0;

   	strcpy(listaCarro[GOL].tipo, "Gol");
   	strcpy(listaCarro[GOL].cor, "Prata");
   	strcpy(listaCarro[GOL].esp, "Com AR");
   	listaCarro[GOL].quantidade = 5;
   	listaCarro[GOL].qtdEmprestado = 0;
   	listaCarro[GOL].preco = 100.0;

   	strcpy(listaCarro[PALIO].tipo, "Palio");
   	strcpy(listaCarro[PALIO].cor, "Vermelho");
   	strcpy(listaCarro[PALIO].esp, "Com Ar");
   	listaCarro[PALIO].quantidade = 5;
   	listaCarro[PALIO].qtdEmprestado = 0;
   	listaCarro[PALIO].preco = 90.0;
}
void mostraInf(int carro){
   struct Carro c = listaCarro[carro];

   if( qtdCarroDisponivel(c) < 1 ) {
       printf( "\t Carro indisponível para locação! \n" );
       system("pause");
       return;
   }

   printf( "\t O modelo escolhido %s. \n", c.tipo);
   printf( "\t Cor: %s Esp: %s \n", c.cor, c.ar );
   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++;
   }

}

 

Postado

Analise seu código melhor, pois existe um monte de erros de sintaxe e não lógica. Você precisa estudar seu próprio código para você saber como ele funciona e assim você aprenderá como evitar tais erros.

 

1) Quando for definir uma struct, finalize usando };

e não apenas }, assim:

 

struct Player{
  
};

 

2) Os seus #define, precisam ter um valor:

#define CELTA   0//tanto faz o numero
#define GOL     1
#define PALIO   2 

 

3) Você construiu uma struct chamada car e depois usou Carro. Cuidado com estrangeirismo :P

 

4) Na função calcula, você chamou:

 

mostraInformacao(carro);

 

mas ela não está em nenhuma parte do código.

  • Curtir 1
Postado

Amigos por favor,  depois de entrar com os dados se eu pesquisar por CPF ou e-mail so mostra o resultado por e-mail e o restante dos dados inseridos aparece somente números, como resolvo?

#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<conio.h>
#include<windows.h>  // titulo do programa
#define SIZE 200
#define CELTA 0
#define GOL 1
#define PALIO 2

char nome[SIZE] [50];
char email[SIZE] [50];
char cpf [SIZE];
char fone [SIZE];
char celta [50];
char gol [50];
char palio [50];
int op, opcao;
void cadastrocli();
void pesquisa();
void lista();


int main (void){
	SetConsoleTitle("Legal Rent a Car");
	cadastrocli();
	//lista();
	pesquisa();
	do{
		system("cls");
		printf("--------------------------------------------------------------------------------\n");
		printf("\t\t\t\t LOCADORA DE VEICULOS            \n\n");
		printf("\t\t\t\t LEGAL RENT A CAR                \n\n");
		printf("--------------------------------------------------------------------------------\n\n\n");
		printf("1- CLIENTE\n");
		printf("2- VEICULO\n");
		printf("3- LOCACAO\n");
		printf("4- RELATORIOS\n");
		printf("5- SAIR\n");
		printf("--------------------------------------------------------------------------------\n");
		printf("\n Qual Opcao voce Deseja Acessar? ");
		scanf("%d", &opcao);
		system("cls");
	}while(op!=5);
	system("pause");
	return 0;
}


void cadastrocli(){
	static int linha;
	do{
		printf("\nDigite o Nome: ");
		scanf("%S", &nome[linha]);
		printf("\nDigite o Email: ");
		scanf("%s", &email[linha]);
		printf("\nDigite o CPF: ");
		scanf("%d", &cpf[linha]);
		printf("\nDigite o Fone: ");
		scanf("%d", &fone[linha]);
		printf("\n\nDigite 1 para continuar e outro valor para sair\n");	
		scanf("%d", &op);
		system("cls");
		linha++;
	}while(op==1);	
} // fim da opcao de cadastro cliente

void pesquisa(){
	int cpfPesquisa;
	int fonePesquisa;
	char emailPesquisa [50];
	char nomePesquisa[50];
	int i;
	do{
		printf("\nDigite 1 para pesquisar por CPF ou 2 para pesquisar por email\n");
		scanf("%d", &op);
		system("cls");
		switch(op){
			case 1:
				printf("\nDigite o CPF: ");
				scanf("%d", &cpfPesquisa);
				for(i=0;i<SIZE;i++){
					if(cpf[i]==cpfPesquisa){
						printf("\nNome: %s\nEmail: %s\nCPF: %d \nFone: %d", nome[i], email[i], cpf[i], fone[i]);
					}
				}
				break;
			case 2:
				printf("\nDigite o Email: ");
				scanf("%s", &emailPesquisa);
				for(i=0;i<SIZE;i++){
					if(strcmp(email[i], emailPesquisa)==0){
						printf("\nNome: %s\nEmail: %s\nCPF: %d \nFone: %d", nome[i], email[i], cpf[i], fone[i]);
					}
				}			
				break;	
			case 3:
				exit(0);
				break;
			default:
				printf("\nOpcao Invalida, Tente Novamente\n");			
				break;	
		}
		printf("\nDigite 1 para continuar pesquisando\n");
		scanf("%d", &op);
	}while(op==1, op!=3);

 

err.jpg

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