Ir ao conteúdo
  • Cadastre-se

C erros ao compilar, preciso de uma força


Palexandro

Posts recomendados

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
Link para o comentário
Compartilhar em outros sites

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

}

 

Link para o comentário
Compartilhar em outros sites

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
Link para o comentário
Compartilhar em outros sites

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

Link para o comentário
Compartilhar em outros sites

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

Ebook grátis: Aprenda a ler resistores e capacitores!

EBOOK GRÁTIS!

CLIQUE AQUI E BAIXE AGORA MESMO!