Ir ao conteúdo
  • Comunicados

    • Gabriel Torres

      Seja um moderador do Clube do Hardware!   12-02-2016

      Prezados membros do Clube do Hardware, Está aberto o processo de seleção de novos moderadores para diversos setores ou áreas do Clube do Hardware. Os requisitos são:   Pelo menos 500 posts e um ano de cadastro; Boa frequência de participação; Ser respeitoso, cordial e educado com os demais membros; Ter bom nível de português; Ter razoável conhecimento da área em que pretende atuar; Saber trabalhar em equipe (com os moderadores, coordenadores e administradores).   Os interessados deverão enviar uma mensagem privada para o usuário @Equipe Clube do Hardware com o título "Candidato a moderador". A mensagem deverá conter respostas às perguntas abaixo:   Qual o seu nome completo? Qual sua data de nascimento? Qual sua formação/profissão? Já atuou como moderador em algo outro fórum, se sim, qual? De forma sucinta, explique o porquê de querer ser moderador do fórum e conte-nos um pouco sobre você.   OBS: Não se trata de função remunerada. Todos que fazem parte do staff são voluntários.
    • DiF

      Poste seus códigos corretamente!   21-05-2016

      Prezados membros do Fórum do Clube do Hardware, O Fórum oferece um recurso chamado CODE, onde o ícone no painel do editor é  <>     O uso deste recurso é  imprescindível para uma melhor leitura, manter a organização, diferenciar de texto comum e principalmente evitar que os compiladores e IDEs acusem erro ao colar um código copiado daqui. Portanto convido-lhes para ler as instruções de como usar este recurso CODE neste tópico:  
lucass132

C++ Como arrumar esse sistema ?

Recommended Posts

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.

Editado por Simon Viegas
Favor ler tópico e seguir orientações sobre POSTAGEM DE CÓDIGOS: http://www.clubedohardware.com.br/announcement/27-poste-seus-c%C3%B3digos-corretamente/

Compartilhar este post


Link para o post
Compartilhar em outros sites

Boa tarde.

Não seria porque o cadastro está dentro do main?

 

Tente fazer o cadastro e a pesquisa fora do main.

Compartilhar este post


Link para o post
Compartilhar em outros sites

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.

Editado por Simon Viegas

Compartilhar este post


Link para o post
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);
}

 

Compartilhar este post


Link para o post
Compartilhar em outros sites
  • Autor do tópico
  • 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

     

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

    Olá @lucass132.

     

    1 hora atrás, lucass132 disse:

    não funcionou

     

    Em qual parte não está funcionando? qual erro deu?

     

    Por favor, poste o seu código completo e onde está com dúvidas.

     

     

    No aguardo.

    Compartilhar este post


    Link para o post
    Compartilhar em outros sites

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

     

    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






    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

    ×