Ir ao conteúdo
  • Cadastre-se

C++ Como arrumar esse sistema ?


lucass132

Posts recomendados

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.

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

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.

Link para o comentário
Compartilhar em outros sites

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

 

Link para o comentário
Compartilhar em outros sites

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

 

Link para o comentário
Compartilhar em outros sites

  • Membro VIP

@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;

 

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