Ir ao conteúdo
  • Cadastre-se
lazas

Erro 'else' without a previous 'if'

Recommended Posts

Galera estou com esse erro, Não sou habilidoso na programação.

Abaixo segue o programa ta extenso mais ta em módulos o erro é no else na linha 157.

In function 'pesquisarRegistro':

157|error: 'else' without a previous 'if'

|=== Build finished: 1 errors, 0 warnings (0 minutes, 0 seconds) ===|

/* PROGRAMA QUE GUARDA N NOMES, CPFs E SALARIOS E OS APRESENTA NA TELA*/

#include<stdio.h>

#include<string.h>

#define QUANTIDADE 3

char nomesSalarios[QUANTIDADE][51];

float salarios[QUANTIDADE];

char cpf[QUANTIDADE][12];

int indice = 0;

int controlador[QUANTIDADE];

void inserirRegistro(void);

void apresentarRegistros(void);

void excluirRegistro(void);

void pesquisarRegistro(void);

char menuPrincipal(void);

void fachada(char);

int main()

{

char opcao = ' ';

do

{

system("cls");

opcao = menuPrincipal();

fachada(opcao);

}

while(opcao!='S');

system("pause");

return 0;

}

void fachada(char op)

{

switch(op)

{

case '1': inserirRegistro();

break;

case '2': apresentarRegistros();

break;

case '3': excluirRegistro();

break;

case '4': pesquisarRegistro();

break;

case 'S': printf("\nSaindo do programa... ");

break;

default: printf("\nOpcao invalida!\n");

system("pause");

}

}

char menuPrincipal()

{

char op = ' ';

printf("MENU");

printf("\n[1] - Inserir");

printf("\n[2] - Apresentar");

printf("\n[3] - Excluir");

printf("\n[4] - Pesquisar");

printf("\n - Sair\n\n");

op = toupper(getche());

fflush(stdin);

return(op);

}

void inserirRegistro()

{

int i=0;

if(indice<QUANTIDADE)

{

for(i; i<QUANTIDADE; i++)

{

if(controlador==0)

{

printf("\nDigite o %do nome:\n", i+1);

scanf(" %[^\n]", nomesSalarios);

fflush(stdin);

printf("\nDigite o %do cpf:\n", i+1);

scanf(" %[^\n]", cpf);

fflush(stdin);

printf("\nDigite o %do salario:\n", i+1);

scanf("%f", &salarios);

fflush(stdin);

controlador=1;

indice++;

printf("\nDados inseridos com sucesso!\n");

break;

}

}

}

else

{

printf("\nNao foi possivel inserir mais dados!\n");

}

system("pause");

}

void apresentarRegistros()

{

if(indice > 0)

{

int i = 0;

for(i; i < QUANTIDADE; i++)

{

if(controlador==1)

{

printf("\n%d - CPF: %s", i+1, cpf);

printf("\tNome: %s", nomesSalarios);

printf("\tSalario: R$ %7.2f", salarios);

}

}

}

else

{

printf("\nNao existem dados para serem exibidos!\n");

}

printf("\n\n");

system("pause");

}

void pesquisarRegistro()

{

char nomePesquisa[51];

int i=0;

printf("\nDigite o Nome para pesquisa:\n");

scanf(" %[^\n", nomePesquisa);

fflush(stdin);

for(i; i< indice; i++)

{

if(!strcmp(nomePesquisa,nomesSalarios))

{

printf("\nNome pesquisado foi %s na posicao %d :\n", nomePesquisa, nomesSalarios);

}

}

else

{

printf("\nNao foi possivel encontrar nome!\n");

}

system("pause");

}

void excluirRegistro()

{

if(indice > 0)

{

int excluirReg;

int i = 0;

for(i; i < QUANTIDADE; i++)

{

if(controlador==1)

{

printf("\n%d - CPF: %s", i+1, cpf);

printf("\tNome: %s", nomesSalarios);

printf("\tSalario: R$ %7.2f", salarios);

}

}

printf("\nDigite o valor referente a posicao que deseja excluir: ");

scanf("%d", &excluirReg);

fflush(stdin);

excluirReg=excluirReg-1;

i=0;

for(i; i < indice; i++)

{

if(excluirReg == i)

{

cpf[0]='\0';

nomesSalarios[0]='\0';

salarios=0;

controlador=0;

printf("Registro ecluido com sucesso!!!");

indice=indice-1;

}

}

}

else

{

printf("\nNao existem dados para serem excluidos!\n");

}

system("pause");

}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Você esta usando o else em conjunto com o for por isso ta errado


for(i; i< indice; i++)
{
if(!strcmp(nomePesquisa,nomesSalarios[i]))

{
printf("\nNome pesquisado foi %s na posicao %d :\n", nomePesquisa, nomesSalarios);
}
}

else
{
printf("\nNao foi possivel encontrar nome!\n");
}

Basata colocar o else dentro do for


for(i; i< indice; i++)
{
if(!strcmp(nomePesquisa,nomesSalarios[i]))

{
printf("\nNome pesquisado foi %s na posicao %d :\n", nomePesquisa, nomesSalarios);
}
else if(i=indice -1)
{
printf("\nNao foi possivel encontrar nome!\n");
}
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro 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 publicações 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

×