Ir ao conteúdo

Posts recomendados

Postado

Estou a dias tentando fazer mas são muitos erros que aparecem, me ajude por favor

erros:

In function 'int main()':
[Error] a function-definition is not allowed here before '{' token
[Error] expected ';' at end of input
[Error] expected '}' at end of input
[Error] expected ')' at end of input
[Error] expected primary-expression at end of input
[Error] expected '(' at end of input
[Error] expected 'while' at end of input
[Error] expected '}' at end of input

 

Código:

#include<stdlib.h>
#include<string.h>
#define SIZE 200
char nome[SIZE][50];
char email[SIZE][50];
int cpf[SIZE];

void cadastro();
void pesquisa();

int main (void){
    int op = 0;
    cadastro();
    pesquisa();
    do{
         system("cls");
         printf("\n------MENU-----\n1 - Cadastrar\n2 - Pesquisar\n3 - SAIR");
         scanf("%d",&op);     
             printf("Digite um numero: ");
             scanf("%d",&op);

         switch(op){
            case 1: 
                   printf("Você escolheu o primeiro!\n"); 
             break;
            case 2: 
                 printf("Você escolheu o segundo!\n"); 
              break;
            case 3: 
                 printf("Você escolheu o terceiro!\n"); 
              break;
            default:
                    printf("Você não escolheu o primeiro,segundo ou terceiro!\n"); 
              break;
}

return 0;
void cadastro (){
    int op = 0;
    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 1 para continuar ou outro valor para sair: ");
        scanf("%s", &op);
        linha=linha+1;
    }while(op = 1);
}// fim da função cadastro
void pesquisa(){
    int cpfPesquisa;
    char emailPesquisa[50];
    int i;
    int op = 0;
    do{
        printf("\nDigite 1 para pesquisar por CPF ou 2 para pesquisar por email");
        scanf("%d", &op);
        switch(op){
            case1:
                printf("\nDigite o CPF: ");
                scanf("%d", &cpfPesquisa);
                for(i=0;i<SIZE;i++){
                    if(cpf==cpfPesquisa){
                        printf("\nNome: %s\nEmail: %s\nCPF: %d", nome, email, cpf);
                    }
                }
                break;    
            case2:
                printf("\nDigite o Email");
                scanf("%s", emailPesquisa);
                for(i=0;i<SIZE;i++){
                    if(strcmp(email, emailPesquisa)){
                        printf("nNome: %s\nEmail: %s\nCPF: %d", nome, email, cpf);
                    }
                }
                break;
            default:
                printf("\n Opcao invalida");
                break;
        }
        printf("\nDigite 1 para continuar pesquisando");
        scanf("%d", &op);
    }while(op==1);
} 

 

Já agradeço pela ajuda que venho tendo, obrigado por ajudar.

  • Membro VIP
Postado

Olá @lucass132.

 

Basta reindentar o código, veja:

int main (void) {
	int op = 0;
	cadastro();
	pesquisa();
	do {
		system("cls");
		printf("\n------MENU-----\n1 - Cadastrar\n2 - Pesquisar\n3 - SAIR");
		scanf("%d",&op);
		printf("Digite um numero: ");
		scanf("%d",&op);

		switch(op) {
			case 1:
				printf("Você escolheu o primeiro!\n");
				break;
			case 2:
				printf("Você escolheu o segundo!\n");
				break;
			case 3:
				printf("Você escolheu o terceiro!\n");
				break;
			default:
				printf("Você não escolheu o primeiro,segundo ou terceiro!\n");
				break;
		}
	//aqui teria uma }. Falta fechar com o "} while (xxx)")
	return 0;
//aqui falta outra }. (Fecjar o main())

 

No aguardo.

Postado

@lucass132 Correção do código:

#include<stdlib.h>
#include<string.h>
#define SIZE 200
char nome[SIZE][50];
char email[SIZE][50];
int cpf[SIZE];

void cadastro();
void pesquisa();

int main (void)
{
    int op = 0;

    do
    {
        system("cls");
        printf("\n------MENU-----\n1 - Cadastrar\n2 - Pesquisar\n3 - SAIR");
        printf("\nDigite um numero: ");
        scanf("%d",&op);

        switch(op)
        {
        case 1:
            printf("Você escolheu o primeiro!\n");
            break;
        case 2:
            printf("Você escolheu o segundo!\n");
            break;
        case 3:
            printf("Você escolheu o terceiro!\n");
            break;
        default:
            printf("Você não escolheu o primeiro,segundo ou terceiro!\n");
            break;
        }
    } while(op != 3);

    return 0;
}
void cadastro ()
{
    int op = 0;
    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 1 para continuar ou outro valor para sair: ");
        scanf("%s", &op);
        linha=linha+1;
    }
    while(op = 1);
}// fim da função cadastro
void pesquisa()
{
    int cpfPesquisa;
    char emailPesquisa[50];
    int i;
    int op = 0;
    do
    {
        printf("\nDigite 1 para pesquisar por CPF ou 2 para pesquisar por email");
        scanf("%d", &op);
        switch(op)
        {
case1:
            printf("\nDigite o CPF: ");
            scanf("%d", &cpfPesquisa);
            for(i=0; i<SIZE; i++)
            {
                if(cpf==cpfPesquisa)
                {
                    printf("\nNome: %s\nEmail: %s\nCPF: %d", nome, email, cpf);
                }
            }
            break;
case2:
            printf("\nDigite o Email");
            scanf("%s", emailPesquisa);
            for(i=0; i<SIZE; i++)
            {
                if(strcmp(email, emailPesquisa))
                {
                    printf("nNome: %s\nEmail: %s\nCPF: %d", nome, email, cpf);
                }
            }
            break;
        default:
            printf("\n Opcao invalida");
            break;
        }
        printf("\nDigite 1 para continuar pesquisando");
        scanf("%d", &op);
    }
    while(op==1);
}

 

Postado
Em 14/11/2017 às 16:47, CiroboyBR disse:

@lucass132 Correção do código:


#include<stdlib.h>
#include<string.h>
#define SIZE 200
char nome[SIZE][50];
char email[SIZE][50];
int cpf[SIZE];

void cadastro();
void pesquisa();

int main (void)
{
    int op = 0;

    do
    {
        system("cls");
        printf("\n------MENU-----\n1 - Cadastrar\n2 - Pesquisar\n3 - SAIR");
        printf("\nDigite um numero: ");
        scanf("%d",&op);

        switch(op)
        {
        case 1:
            printf("Você escolheu o primeiro!\n");
            break;
        case 2:
            printf("Você escolheu o segundo!\n");
            break;
        case 3:
            printf("Você escolheu o terceiro!\n");
            break;
        default:
            printf("Você não escolheu o primeiro,segundo ou terceiro!\n");
            break;
        }
    } while(op != 3);

    return 0;
}
void cadastro ()
{
    int op = 0;
    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 1 para continuar ou outro valor para sair: ");
        scanf("%s", &op);
        linha=linha+1;
    }
    while(op = 1);
}// fim da função cadastro
void pesquisa()
{
    int cpfPesquisa;
    char emailPesquisa[50];
    int i;
    int op = 0;
    do
    {
        printf("\nDigite 1 para pesquisar por CPF ou 2 para pesquisar por email");
        scanf("%d", &op);
        switch(op)
        {
case1:
            printf("\nDigite o CPF: ");
            scanf("%d", &cpfPesquisa);
            for(i=0; i<SIZE; i++)
            {
                if(cpf==cpfPesquisa)
                {
                    printf("\nNome: %s\nEmail: %s\nCPF: %d", nome, email, cpf);
                }
            }
            break;
case2:
            printf("\nDigite o Email");
            scanf("%s", emailPesquisa);
            for(i=0; i<SIZE; i++)
            {
                if(strcmp(email, emailPesquisa))
                {
                    printf("nNome: %s\nEmail: %s\nCPF: %d", nome, email, cpf);
                }
            }
            break;
        default:
            printf("\n Opcao invalida");
            break;
        }
        printf("\nDigite 1 para continuar pesquisando");
        scanf("%d", &op);
    }
    while(op==1);
}

 

não funcionou

 

adicionado 2 minutos depois

@Simon Viegas

Em 14/11/2017 às 16:47, CiroboyBR disse:

@lucass132 Correção do código:


#include<stdlib.h>
#include<string.h>
#define SIZE 200
char nome[SIZE][50];
char email[SIZE][50];
int cpf[SIZE];

void cadastro();
void pesquisa();

int main (void)
{
    int op = 0;

    do
    {
        system("cls");
        printf("\n------MENU-----\n1 - Cadastrar\n2 - Pesquisar\n3 - SAIR");
        printf("\nDigite um numero: ");
        scanf("%d",&op);

        switch(op)
        {
        case 1:
            printf("Você escolheu o primeiro!\n");
            break;
        case 2:
            printf("Você escolheu o segundo!\n");
            break;
        case 3:
            printf("Você escolheu o terceiro!\n");
            break;
        default:
            printf("Você não escolheu o primeiro,segundo ou terceiro!\n");
            break;
        }
    } while(op != 3);

    return 0;
}
void cadastro ()
{
    int op = 0;
    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 1 para continuar ou outro valor para sair: ");
        scanf("%s", &op);
        linha=linha+1;
    }
    while(op = 1);
}// fim da função cadastro
void pesquisa()
{
    int cpfPesquisa;
    char emailPesquisa[50];
    int i;
    int op = 0;
    do
    {
        printf("\nDigite 1 para pesquisar por CPF ou 2 para pesquisar por email");
        scanf("%d", &op);
        switch(op)
        {
case1:
            printf("\nDigite o CPF: ");
            scanf("%d", &cpfPesquisa);
            for(i=0; i<SIZE; i++)
            {
                if(cpf==cpfPesquisa)
                {
                    printf("\nNome: %s\nEmail: %s\nCPF: %d", nome, email, cpf);
                }
            }
            break;
case2:
            printf("\nDigite o Email");
            scanf("%s", emailPesquisa);
            for(i=0; i<SIZE; i++)
            {
                if(strcmp(email, emailPesquisa))
                {
                    printf("nNome: %s\nEmail: %s\nCPF: %d", nome, email, cpf);
                }
            }
            break;
        default:
            printf("\n Opcao invalida");
            break;
        }
        printf("\nDigite 1 para continuar pesquisando");
        scanf("%d", &op);
    }
    while(op==1);
}

 

não deu tambem

adicionado 2 minutos depois
Em 14/11/2017 às 13:55, Simon Viegas disse:

Olá @lucass132.

 

Basta reindentar o código, veja:


int main (void) {
	int op = 0;
	cadastro();
	pesquisa();
	do {
		system("cls");
		printf("\n------MENU-----\n1 - Cadastrar\n2 - Pesquisar\n3 - SAIR");
		scanf("%d",&op);
		printf("Digite um numero: ");
		scanf("%d",&op);

		switch(op) {
			case 1:
				printf("Você escolheu o primeiro!\n");
				break;
			case 2:
				printf("Você escolheu o segundo!\n");
				break;
			case 3:
				printf("Você escolheu o terceiro!\n");
				break;
			default:
				printf("Você não escolheu o primeiro,segundo ou terceiro!\n");
				break;
		}
	//aqui teria uma }. Falta fechar com o "} while (xxx)")
	return 0;
//aqui falta outra }. (Fecjar o main())

 

No aguardo.

não funcionou

 

  • Membro VIP
Postado

@lucass132

 

ADENDO:

O ideal seria você especificar onde está com erro, mas pegando um dos seus código acima, temos:

    do {
        system("cls");
        printf("\n------MENU-----\n1 - Cadastrar\n2 - Pesquisar\n3 - SAIR");
        printf("\nDigite um numero: ");
        scanf("%d",&op);

        switch(op)
        {
        case 1:
            printf("Você escolheu o primeiro!\n");
            break;
        case 2:
            printf("Você escolheu o segundo!\n");
            break;
        case 3:
            printf("Você escolheu o terceiro!\n");
            break;
        default:
            printf("Você não escolheu o primeiro,segundo ou terceiro!\n");
            break;
        }
    } while(op != 3);

Nesse caso, daria algo como: "O programa compila e abre, mas ao escolher um item, não acontece nada. Escolhe uma opção e não continua."

 

Neste caso, perceba que ao "selecionar um caso", você apenas está exibindo um texto e dar um break. Daí o While repete (se diferente de 3)... ao fazer isso, limpa a tela e exibe o menu novamente, ou seja, o processo é tão rápido, que dá a impressão que não fez nada... mas na verdade "imprime e logo limpa a tela".

 

Você precisa invocar a função correspondente, algo como:

        case 1:
            cadastro();
            break;

 

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!