Ir para conteúdo
Fórum Script Brasil
  • 0

Retorno ao menu após efetuar cadastro


L0mbra

Pergunta

Boa tarde gente,

estou elaborando um programa para cadastro de clientes, porem, necessito a cada cadastro ele pergunte se eu gostaria de cadastrar outro, else, ele volte ao menu principal para q seja feita a pesquisa, e exiba o cadastro, já tentei de td aki e nada, alguém pode me da uma luz?

=/ to mandando meu codigo pra vocês darem uma olhada.quem puder me ajudar eu agradeço! so queria saber como fazer!

obrigado!

#include<stdio.h>
#include<conio.h>
#include<iostream.h>


     struct cad{
            char nome[20];
            char end[22];
            char ecivil[22];
            int numcliente[2];
            int fone[10];
            int rg[22];
            int data[10];
            int cic[22];
            int dep[3];
            };

int main ()
{
int op,;
struct cad dados[3];
int ch, cont,pesq;
int decisao;

    
printf("\n:::::::::::Cadastro de clientes:::::::::::::");
printf("\n");
printf("\n");
printf("\n");
do{
printf("\n MENU DE CADASTRO :");
printf("\n");
printf("\n [ 1 ] - ADICIONAR UM NOVO CADASTRO ");
printf("\n [ 2 ] - PESQUISAR CADASTROS ");
printf("\n [ 3 ] - SAIR ");
printf("\n");
printf("\n");      
printf("  ""   ] - DIGITE A OPCAO DESEJADA " );printf("\r");printf(" [ ");printf("");  
scanf("%d",&op);
}
while(op=='3');

system("CLS");
printf("\n");
switch (op)
{
       
       printf("\n");
       case 1 : for (cont=0;cont<3;cont++){                
                printf("\n ADICIONANDO REGISTRO ... :");
                printf("\n\n");
                printf("\n Insira o Numero de cadastro : ");
                scanf("%d",&dados[cont].numcliente);                
                printf("\n Insira o nome : ");
                scanf("%s",&dados[cont].nome);
                printf("\n Insira o Endereco : ");
                scanf("%s",&dados[cont].end);
                printf("\n Insira o Telefone : ");
                scanf("%d",&dados[cont].fone);
                printf("\n Insira o Estado civil : ");
                scanf("%s",&dados[cont].ecivil);
                printf("\n Insira o RG : ");
                scanf("%d",&dados[cont].rg);
                printf("\n Insira o CIC : ");
                scanf("%d",&dados[cont].cic);
                printf("\n Insira a data de nascimento : ");
                scanf("%d",&dados[cont].data);
                printf("\n Insira a quantidade de dependentes  : ");
                scanf("%d",&dados[cont].dep);
                printf("\n\n");
                printf("\n :::::::: CADASTRO REALIZADO COM SUCESSO ::::");
                printf("\n\n\n CADASTRE OUTRO CLIENTE ... :");
                }
               
                break;
                
       case 2 : /*printf("\n PESQUISA DE CLIENTES . . . . ");
                printf("\n\n");
                printf("\n DIGITE O NUMERO DO CADASTRO QUE DESEJA PESQUISAR ");
                scanf("%d",&ch);
                pesq = 0;
                for (cont=0;cont<3;cont++){
                    if(dados[cont].numcliente==ch){
                        printf("CADASTRO ENCONTRADO : \n %s", dados[cont].nome);
                        pesq =1;
                        }
                        }
                        if (pesq==0)
                        printf("CADASTRO não ENCONTRADO");*/
                        
       
getch();
}
}

Editado por Jonathan Queiroz
Adcionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

22 respostass a esta questão

Posts Recomendados

  • 0

Para isso crie um loop do...while que pede as opções e, dentro dele, fazer o switch da opção selecionada. Se achar interessante também pode criar uma função para o cadastro (ajuda na organização).

Ficaria algo assim:

int opcao=0;
do{
switch(opcao){
case 1:
funcaoCadastro();
break;
case 2:
funcaoOutraCoisa(0);
break;
}
printf("Opcoes: ");
printf("\n\t0 - Sair\n\t1 - Cadastro\n\t2 - Outra coisa");
scanf("%d",&opcao);
}while(opcao);

Não cheguei a testar, mas deve funcionar.

Obs.:

Dá pra organizar melhor o seu código, tente fazer isso.

Link para o comentário
Compartilhar em outros sites

  • 0

Olá L0mbra

Siga o conselho do Jonathan para case:1. Não há nada melhor para se fazer nessa situação. Para case:2, seu código parece correto. A pesquisa não está sendo feita? Qual o erro acusado?

Outra coisa: não entendi suas declarações de int's dentro da struct. Me parece que você não precisa declarar o tamanho, como fez ali.

Reforço para se ater ao código apresentado logo na primeira resposta, é o ideal.

Abraços!

Editado por RSalvador
Link para o comentário
Compartilhar em outros sites

  • 0

ai meu codigo, estava aki tentando, to batendo cabeça aki, ele ta dando erro no int main(void) não sei porque.... tentem compilar ae por favor

se tiver algo errado por favor me digam...

obrigado!

#include<stdio.h>
#include<conio.h>
#include<iostream.h>

int cadastro (int *, struct cad*);
     struct cad{
            char nome[20];
            char end[22];
            char ecivil[22];
            int numcliente[2];
            int fone[10];
            int rg[22];
            int data[10];
            int cic[22];
            int dep[3];
            };



int op,;
struct cad dados[3];
int ch,opcao,cont,pesq;
int decisao;

int menu (void){    
printf("\n:::::::::::Cadastro de clientes:::::::::::::");
printf("\n");
printf("\n");
printf("\n");
printf("\n MENU DE CADASTRO :");
printf("\n");
printf("\n [ 1 ] - ADICIONAR UM NOVO CADASTRO ");
printf("\n [ 2 ] - PESQUISAR CADASTROS ");
printf("\n [ 3 ] - SAIR ");
printf("\n");
printf("\n");      
printf("  ""   ] - DIGITE A OPCAO DESEJADA " );printf("\r");printf(" [ ");printf("");  
scanf("%d",&op);
system ("cls");
return (op);
}
int cadastro(){
    for (cont=0;cont<3;cont++){                
                printf("\n ADICIONANDO REGISTRO ... :");
                printf("\n\n");
                printf("\n Insira o Numero de cadastro : ");
                scanf("%d",&dados[cont].numcliente);                
                printf("\n Insira o nome : ");
                scanf("%s",&dados[cont].nome);
                printf("\n Insira o Endereco : ");
                scanf("%s",&dados[cont].end);
                printf("\n Insira o Telefone : ");
                scanf("%d",&dados[cont].fone);
                printf("\n Insira o Estado civil : ");
                scanf("%s",&dados[cont].ecivil);
                printf("\n Insira o RG : ");
                scanf("%d",&dados[cont].rg);
                printf("\n Insira o CIC : ");
                scanf("%d",&dados[cont].cic);
                printf("\n Insira a data de nascimento : ");
                scanf("%d",&dados[cont].data);
                printf("\n Insira a quantidade de dependentes  : ");
                scanf("%d",&dados[cont].dep);
                printf("\n\n");
                printf("\n :::::::: CADASTRO REALIZADO COM SUCESSO ::::");
                }

int pesquisa (){
             printf("\n PESQUISA DE CLIENTES . . . . ");
                printf("\n\n");
                printf("\n DIGITE O NUMERO DO CADASTRO QUE DESEJA PESQUISAR ");
                scanf("%d",&ch);
                pesq = 0;
                for (cont=0;cont<3;cont++){
                    if(dados[cont].numcliente==ch){
                        printf("CADASTRO ENCONTRADO : \n %s", dados[cont].nome);
                        pesq =1;
                        }
                        }
                        if (pesq==0)
                        printf("CADASTRO não ENCONTRADO");

       
    
    int main (void){
    opcao=menu();
    while(op!=3){
                 if (op==1){
                 cadastro();
                 opcao=menu();
                            }
                 else
                 
                 if (op==2){
                 pesquisa();
                 opcao=menu();
                           }
                 if (op==3){
                 printf("SAINDO DO PROGRAMA");
                           }
}

}   
     system("PAUSE");
     
     return(0);          
         
}

São esses os erros citados pelo dev:

CADCLIENTEs.cpp: In function `int cadastro()':

CADCLIENTEs.cpp:68: error: expected primary-expression before "int"

CADCLIENTEs.cpp:68: error: expected `;' before "int"

CADCLIENTEs.cpp:85: error: expected primary-expression before "int"

CADCLIENTEs.cpp:85: error: expected `;' before "int"

quem puder me ajudar eu agradeço!

Link para o comentário
Compartilhar em outros sites

  • 0

Olá, L0mbra

Encontrei um erro no código e uma declaração estranha.

O erro: A função "cadastro" pede dois parâmetros, mas quando você chama a função em main, você não passa nenhum. Aliás, eu nunca declarei um parâmetro como o primeiro que você declarou (int *). Eu acredito que também esteja incorreto.

A declaração: Primeiro, não entendi porque while (op!=3). Depois, o if (op==3) dentro do loop nunca será executado. Por fim, creio que um comando switch case seja o mais indicado para esta situação, apesar de os condicionais funcionarem bem também.

Abraço!

Editado por RSalvador
Link para o comentário
Compartilhar em outros sites

  • 0

Cara, dá pra organizar esse código de maneira muito melhor.

Em primeiro lugar, atente para essas linhas:

int op,;
Correto:
int op;
Olhe isso aqui também:
int cadastro(){
    for (cont=0;cont<3;cont++){                
               [...]
                }

int pesquisa (){
Você esqueceu uma chaves ali:
int cadastro(){
    for (cont=0;cont<3;cont++){                
               [...]
                }
}
int pesquisa (){
Mais esse:
int pesquisa (){
             printf("\n PESQUISA DE CLIENTES . . . . ");
                printf("\n\n");
                printf("\n DIGITE O NUMERO DO CADASTRO QUE DESEJA PESQUISAR ");
                scanf("%d",&ch);
                pesq = 0;
                for (cont=0;cont<3;cont++){
                    if(dados[cont].numcliente==ch){
                        printf("CADASTRO ENCONTRADO : \n %s", dados[cont].nome);
                        pesq =1;
                        }
                        }
                        if (pesq==0)
                        printf("CADASTRO não ENCONTRADO");

Está faltando chaves aí também...

Também tem chaves sobrando depois da função main.

Tente corrigir esses erros. Também há alguns erros com ponteiros.

Link para o comentário
Compartilhar em outros sites

  • 0

o metodo de pesquisa ta certo?

qual o ponteiro q ta errado?

=/

eu me atrapalho d+ com ponteiros

to revendo o programa, tava fazendo na pressa, acabei me passando nesses erros bestas.

pronto, já consegui resolver o problema, agora so queria saber porque eu n to conseguindo pesquisar.

olhe se tem algum erro na funçao de pesquisa!

obrigadoo

/*int pesquisa (){
             printf("\n PESQUISA DE CLIENTES . . . . ");
                printf("\n\n");
                printf("\n DIGITE O NUMERO DO CADASTRO QUE DESEJA PESQUISAR ");
                scanf("%d",&ch);
                pesq = 0;
                for (cont=0;cont<3;cont++){
                    if(dados[cont].numcliente==ch){
                        printf("CADASTRO ENCONTRADO : \n %s", dados[cont].nome);
                        pesq =1;
                        }
                        
                        if (pesq==0)
                        printf("CADASTRO não ENCONTRADO");
                        }

}       
*/

Link para o comentário
Compartilhar em outros sites

  • 0

eu comentei pra compilar as outras funçoes, pra testar o programa

#include<stdio.h>
#include<conio.h>
#include<iostream.h>

int cadastro (struct cad*);
     struct cad{
            char nome[20];
            char end[22];
            char ecivil[22];
            int numcliente[2];
            int fone[10];
            int rg[22];
            int data[10];
            int cic[22];
            int dep[3];
            };



int op;
struct cad dados[3];
int ch,opcao,cont,pesq;
int decisao;

int menu (void){    
printf("\n:::::::::::Cadastro de clientes:::::::::::::");
printf("\n");
printf("\n");
printf("\n");
printf("\n MENU DE CADASTRO :");
printf("\n");
printf("\n [ 1 ] - ADICIONAR UM NOVO CADASTRO ");
printf("\n [ 2 ] - PESQUISAR CADASTROS ");
printf("\n [ 3 ] - SAIR ");
printf("\n");
printf("\n");      
printf("  ""   ] - DIGITE A OPCAO DESEJADA " );printf("\r");printf(" [ ");printf("");  
scanf("%d",&op);
system ("cls");
return (op);
}
int cadastro(){
                printf("::::: CADASTRO DE CLIENTES ");
                for (cont=0;cont<3;cont++){                
                printf("\n ADICIONANDO REGISTRO ... :");
                printf("\n\n");
                printf("\n Insira o Numero de cadastro : ");
                scanf("%d",&dados[cont].numcliente);                
                printf("\n Insira o nome : ");
                scanf("%s",&dados[cont].nome);
                printf("\n Insira o Endereco : ");
                scanf("%s",&dados[cont].end);
                printf("\n Insira o Telefone : ");
                scanf("%d",&dados[cont].fone);
                printf("\n Insira o Estado civil : ");
                scanf("%s",&dados[cont].ecivil);
                printf("\n Insira o RG : ");
                scanf("%d",&dados[cont].rg);
                printf("\n Insira o CIC : ");
                scanf("%d",&dados[cont].cic);
                printf("\n Insira a data de nascimento : ");
                scanf("%d",&dados[cont].data);
                printf("\n Insira a quantidade de dependentes  : ");
                scanf("%d",&dados[cont].dep);
                printf("\n\n");
                printf("\n :::::::: CADASTRO REALIZADO COM SUCESSO ::::");
                }
                system("cls");
}

int pesquisa (){
             printf("\n PESQUISA DE CLIENTES . . . . ");
                printf("\n\n");
                printf("\n DIGITE O NUMERO DO CADASTRO QUE DESEJA PESQUISAR ");
                scanf("%d",&ch);
                pesq = 0;
                for (cont=0;cont<3;cont++){
                    if(dados[cont].numcliente==ch){
                        printf("CADASTRO ENCONTRADO : \n %s", dados[cont].nome);
                        pesq =1;
                        }
                        
                        if (pesq==0)
                        printf("CADASTRO não ENCONTRADO");
                        }

}       
   
  int main (){
    opcao=menu();
    while(op!=3){
                 if (op==1){
                 cadastro();
                 opcao=menu();
                            }
                 else
                 
               / if (op==2){
                 pesquisa();
                 opcao=menu();
                           }
                 if (op==3){
                 printf("SAINDO DO PROGRAMA...");
                           }

}
  
     system("PAUSE");
     
     return(0);          
     }

ai o codigo, acho q tem algum problema na funçao de pesquisa!

Link para o comentário
Compartilhar em outros sites

  • 0

O seu código ainda contém vários erros sintáticos.

Fiz algumas alterações pra pelo menos compilar e acho que corrigi a função de pesquisa:

#include <stdio.h>
#include <stdlib.h>
#include <conio.h>

int cadastro (struct cad*);
struct cad{
    char nome[20];
    char end[22];
    char ecivil[22];
    int numcliente[2];
    int fone[10];
    int rg[22];
    int data[10];
    int cic[22];
    int dep[3];
};

int op;
struct cad dados[3];
int ch,opcao,cont,pesq;
int decisao;

int menu (void){
    printf("\n:::::::::::Cadastro de clientes:::::::::::::");
    printf("\n");
    printf("\n");
    printf("\n");
    printf("\n MENU DE CADASTRO :");
    printf("\n");
    printf("\n [ 1 ] - ADICIONAR UM NOVO CADASTRO ");
    printf("\n [ 2 ] - PESQUISAR CADASTROS ");
    printf("\n [ 3 ] - SAIR ");
    printf("\n");
    printf("\n");
    printf("  ""   ] - DIGITE A OPCAO DESEJADA " );
    printf("\r");printf(" [ ");printf("");  
    scanf("%d",&op);
    system("cls");
    return (op);
}
int cadastro(){
    printf("::::: CADASTRO DE CLIENTES ");
    for (cont=0;cont<3;cont++){                
    printf("\n ADICIONANDO REGISTRO ... :");
    printf("\n\n");
    printf("\n Insira o Numero de cadastro : ");
    scanf("%d",&dados[cont].numcliente);                
    printf("\n Insira o nome : ");
    scanf("%s",&dados[cont].nome);
    printf("\n Insira o Endereco : ");
    scanf("%s",&dados[cont].end);
    printf("\n Insira o Telefone : ");
    scanf("%d",&dados[cont].fone);
    printf("\n Insira o Estado civil : ");
    scanf("%s",&dados[cont].ecivil);
    printf("\n Insira o RG : ");
    scanf("%d",&dados[cont].rg);
    printf("\n Insira o CIC : ");
    scanf("%d",&dados[cont].cic);
    printf("\n Insira a data de nascimento : ");
    scanf("%d",&dados[cont].data);
    printf("\n Insira a quantidade de dependentes  : ");
    scanf("%d",&dados[cont].dep);
    printf("\n\n");
    printf("\n :::::::: CADASTRO REALIZADO COM SUCESSO ::::");
    }
    system("cls");
}
int pesquisa (){
    printf("\n PESQUISA DE CLIENTES . . . . ");
    printf("\n\n");
    printf("\n DIGITE O NUMERO DO CADASTRO QUE DESEJA PESQUISAR ");
    scanf("%d",&ch);
    pesq = 0;
    for (cont=0;cont<3;cont++){
        if(*dados[cont].numcliente==ch){
            printf("CADASTRO ENCONTRADO : \n %s", dados[cont].nome);
            pesq =1;
        }
            
        if (pesq==0){
            printf("CADASTRO não ENCONTRADO");
        }
    }
}     
  
int main (){
    opcao=menu();
    while(op!=3){
        if (op==1){
            cadastro();
            opcao=menu();
         }else if (op==2){
            pesquisa();
            opcao=menu();
        }else if (op==3){
            printf("SAINDO DO PROGRAMA...");
        }
    }
    system("pause");
    return 0;
}

Obs.:

Ainda dá pra melhorar bastante.

Link para o comentário
Compartilhar em outros sites

  • 0

Eu melhorei um pouco ele, não sei se tá bom. Mas to com um grande problema: após realizar cada cadastro eu queria que ele perguntasse se desejaria realizar outro cadastro. Bom, isso eu já fiz. Ele volta pro menu, porém, se eu seleciono qualquer opção, ele entra no modo cadastro até preencher os 3 espaços do vetor. Galera, onde é que eu to errando ai ?

Já bati minha cabeça aqui desde 6 da manhã kkkkk. Dá uma ajudinha ae !

Obrigado !

AE VAI O CODIGO!

#include<stdio.h>
#include<conio.h>
#include<iostream.h>

int cadastro (struct cad*);
     struct cad{
            char nome[20];
            char end[22];
            char ecivil[22];
            int numcliente[2];
            int fone[10];
            int rg[22];
            int data[10];
            int cic[22];
            int dep[3];
            };



int op;
struct cad dados[3];
int ch,opcao,cont,pesq;
int decisao;


int menu (void){    
printf("\n\t\t\t:::::::::::Cadastro de clientes:::::::::::::");
printf("\n________________________________________________________________________________");
printf("\n");
printf("\n");
printf("\n\t\t <<<<<<<<MENU DE CADASTRO>>>>>>>>");
printf("\n");
printf("\n\t\t [ 1 ] - ADICIONAR UM NOVO CADASTRO ");
printf("\n\t\t [ 2 ] - PESQUISAR CADASTROS ");
printf("\n\t\t [ 3 ] - SAIR ");
printf("\n");
printf("\n");      
printf("                  ""   ] - DIGITE A OPCAO DESEJADA " );printf("\r");printf("                 [ ");printf("");  
scanf("%d",&op);
system ("cls");
return (op);
}
int cadastro(){
                printf("\t\t\t\n::::::CADASTRO DE CLIENTES:::::: ");
                printf("\n________________________________");
                for (cont=0;cont<3;cont++){                
                printf("\n>>>>>>>>ADICIONANDO REGISTRO...>>>>>>>> ");
                printf("\n\n");                
                printf("\nNumero de cadastro : ");
                scanf("%d",&dados[cont].numcliente);                
                printf("\nInsira o nome : ");
                scanf("%s",&dados[cont].nome);
                printf("\nInsira o Endereco : ");
                scanf("%s",&dados[cont].end);
                printf("\nInsira o Telefone : ");
                scanf("%d",&dados[cont].fone);
                printf("\nInsira o Estado civil : ");
                scanf("%s",&dados[cont].ecivil);
                printf("\nInsira o RG : ");
                scanf("%d",&dados[cont].rg);
                printf("\nInsira o CIC : ");
                scanf("%d",&dados[cont].cic);
                printf("\nInsira a data de nascimento : ");
                scanf("%d",&dados[cont].data);
                printf("\nInsira a quantidade de dependentes  : ");
                scanf("%d",&dados[cont].dep);
                printf("\n\t::::::CADASTRO REALIZADO COM SUCESSO::::::");
                printf("\n\n");
                printf("\n\n");
                printf("\n DESEJA REALIZAR OUTRO CADASTRO? (1-SIM 2-não)");
                scanf("%d",&decisao);                                       
                
                               if(decisao==1){
                                              system("cls");
                                opcao==cadastro();
                                }
                                if (decisao==2){
                                              system("cls");  
                                           opcao==menu();
                                              }
                                              
                getch();
                system("cls");
}
}

int pesquisa (){
    printf("\n\t\t\t::::::PESQUISA DE CLIENTES:::::: ");
    printf("\n________________________________________________________________________________");
    printf("\n\n");
    printf("                  ""    ] - DIGITE O NUMERO DE CADASTRO " );printf("\r");printf("                 [ ");printf("");
    scanf("%d",&ch);
    pesq = 0;
    for (cont=0;cont<3;cont++){
        if(ch==*dados[cont].numcliente){
            printf("\n CADASTRO ENCONTRADO : \n ");
            printf("\n");
              printf("\n________________________________");
            printf("\n NOME - %s", dados[cont].nome);
            printf("\n ENDERECO - %s", dados[cont].end);
            printf("\n TEL: - %f", dados[cont].fone);
            printf("\n ESTADO CIVIL - %s", dados[cont].ecivil);
            printf("\n RG - %f", dados[cont].rg);
            printf("\n CIC - %f", dados[cont].cic);
            printf("\n DATA DE NASCIMENTO - %f", dados[cont].data);
            printf("\n Nº DEPENDENTES - %d", dados[cont].dep);
            pesq =1;
        }
        
           
              
            
        
}
    if (pesq==0){
    printf("\n\n\t\tCADASTRO não ENCONTRADO, TENTE NOVAMENTE...\n\n\n");
    getch();
    system("cls");
    menu();

}
}
  int main (){
      decisao=0;
    opcao=menu();
    while(op!=3){
                 if (op==1){
                 cadastro();
                 opcao=menu();
                            }
                 else
                 
              if (op==2){
                 pesquisa();
                 opcao=menu();
                           }else
                 if (op==3){
                            
                 printf("\n\nSAINDO DO PROGRAMA...\n\n\n\n\n\n\n\n");
                           }

}
  
     system("PAUSE");
     
     return(0);          
     }

Link para o comentário
Compartilhar em outros sites

  • 0

Olá L0mbra

Substitua a linha for (cont=0;cont<3;cont++) da função "cadastro" por while (decisao==1). Aliás, coloque esta linha no FINAL do loop, e inicie-o com do. Fazendo isso, os comandos da função que vêm após o comando scanf("%d",&decisao); podem ser retirados.

Espero que funcione.

Abraços!

Editado por RSalvador
Link para o comentário
Compartilhar em outros sites

  • 0

funcionou, agora estou com um problema na exibição da pesquisa pesquisa, não sei o que foi q deu, q eu digito os numeros e vem outros numeros maiores ainda estranho tipo "446903" n to entendendo mais nada....isso nos campos de numeros int, tipo data,cic,rg,...

Editado por L0mbra
Link para o comentário
Compartilhar em outros sites

  • 0

ahh beleza, ta funcionando beleza, agora o problema é: preciso q apos efetuar cada cadastro ele pergunte se deseja cadastrar outro, caso não volte ao menu, caso sim continue cadastrando, apos efetuar os 3 cadastros voltar para o menu, para q possamos fazer a pesquisa pelo numero de cadastro... to aqui tentando ...

Link para o comentário
Compartilhar em outros sites

  • 0

da uma olhada ai, v onde eu to errando, q eu já to aki sem saber o que fazer...

#include<stdio.h>
#include<conio.h>
#include<iostream.h>

int cadastro (struct cad*);
     struct cad{
            char nome;
            char end;
            char ecivil;
            int numcliente;
            char fone;
            char rg;
            char data;
            char cic;
            char dep;
            };



int op;
struct cad dados[3];
int ch,opcao,cont,pesq,volta;
int decisao;


int menu (void){    
printf("\n\t\t\t:::::::::::Cadastro de clientes:::::::::::::");
printf("\n________________________________________________________________________________");
printf("\n");
printf("\n");
printf("\n\t\t <<<<<<<<MENU DE CADASTRO>>>>>>>>");
printf("\n");
printf("\n\t\t [ 1 ] - ADICIONAR UM NOVO CADASTRO ");
printf("\n\t\t [ 2 ] - PESQUISAR CADASTROS ");
printf("\n\t\t [ 3 ] - SAIR ");
printf("\n");
printf("\n");      
printf("                  ""   ] - DIGITE A OPCAO DESEJADA " );printf("\r");printf("                 [ ");printf("");  
scanf("%d",&op);
system ("cls");
return (op);
}
int cadastro(){
                printf("\t\t\t\n::::::CADASTRO DE CLIENTES:::::: ");
                printf("\n________________________________");
                                
               // for (cont=0;cont<3;cont++){  
                      do{             
                printf("\n>>>>>>>>ADICIONANDO REGISTRO...>>>>>>>> ");
                printf("\n\n");                
                printf("\nNumero de cadastro : ");
                scanf("%d",&dados[cont].numcliente);                
                printf("\nInsira o nome : ");
                scanf("%s",&dados[cont].nome);
                printf("\nInsira o Endereco : ");
                scanf("%s",&dados[cont].end);
                printf("\nInsira o Telefone : ");
                scanf("%s",&dados[cont].fone);
                printf("\nInsira o Estado civil : ");
                scanf("%s",&dados[cont].ecivil);
                printf("\nInsira o RG : ");
                scanf("%s",&dados[cont].rg);
                printf("\nInsira o CIC : ");
                scanf("%s",&dados[cont].cic);
                printf("\nInsira a data de nascimento : ");
                scanf("%s",&dados[cont].data);
                printf("\nInsira a quantidade de dependentes  : ");
                scanf("%s",&dados[cont].dep);
                printf("\n\t::::::CADASTRO REALIZADO COM SUCESSO::::::");
                printf("\n\n");
                printf("\n\n");
                               
                printf("\n DESEJA REALMENTE REALIZAR O CADASTRO?(1-SIM 2-não) - ");
                scanf("%d",&decisao);}
                while(decisao==1);
                                                                                                  
                
                
               // system("cls");

}

int pesquisa (){
    printf("\n\t\t\t::::::PESQUISA DE CLIENTES:::::: ");
    printf("\n________________________________________________________________________________");
    printf("\n\n");
    printf("                  ""    ] - DIGITE O NUMERO DE CADASTRO " );printf("\r");printf("                 [ ");printf("");
    scanf("%d",&ch);
    pesq = 0;
    for (cont=0;cont<3;cont++){
        if(ch==*dados[cont].numcliente){
            printf("\n CADASTRO ENCONTRADO : \n ");
            printf("\n");
            printf("\n\tCADASTRO No. %d",*dados[cont].numcliente);
              printf("\n________________________________");
              printf("\n");
            printf("\n NOME_________________- %s", dados[cont].nome);
            printf("\n ENDERECO_____________- %s", dados[cont].end);
            printf("\n TEL:_________________- %s", dados[cont].fone);
            printf("\n ESTADO CIVIL_________- %s", dados[cont].ecivil);
            printf("\n RG___________________- %s", dados[cont].rg);
            printf("\n CIC__________________- %s", dados[cont].cic);
            printf("\n DATA DE NASCIMENTO___- %s", dados[cont].data);
            printf("\n NUMERO DEPENDENTES___- %s", dados[cont].dep);
            pesq =1;
        }
        
           
              
            
        
}
    if (pesq==0){
    printf("\n\n\t\tCADASTRO não ENCONTRADO, TENTE NOVAMENTE...\n\n\n");
    getch();
    system("cls");
    menu();

}
}
  int main (){
      decisao=0;
    opcao=menu();
    volta=cadastro();
    while(op!=3){
                 if (op==1){
                 cadastro();
                 opcao=menu();
                            }
                 else
                 
              if (op==2){
                 pesquisa();
                 opcao=menu();
                           }else
                 if (op==3){
                            
                 printf("\n\nSAINDO DO PROGRAMA...\n\n\n\n\n\n\n\n");
                           }
        else  {
                  printf("ESCOLHA UMA OPCAO VALIDA");
                  menu();}
}
  
     system("PAUSE");
     
     return(0);          
     }

A

Editado por Jonathan Queiroz
Adcionar tag's (Jonathan)
Link para o comentário
Compartilhar em outros sites

  • 0

Olá L0mbra

Só encontro um erro relevante no código. Quando você declara uma função como int, você deve encerrá-la com um return, devolvendo uma variável do tipo int. Você pode optar por não usar o return, mas aí deve declarar a função como void.

Nas declarações que sugeri mudanças, creio que você não tenha entendido: A declaração int não pede tamanho, você pode guardar números com mais de um algarismo dentro de uma variável. A declaração char refere-se exclusivamente a um caractere. Caso sua intenção seja guardar uma palavra, você deve especificar o tamanho entre colchetes.

Se, com isso, você não resolver, não tenho dúvidas que hajam problemas de lógica. Faça um teste de mesa: monte uma tabela com as variáveis e vá lendo o código linha por linha, como se você fosse o compilador. Lembrando que o compilador começa por main, pausa a execução para atender a uma chamada de função e, após isso, volta à linha seguinte da função principal. Fazendo este teste, você encontrará os erros.

Abraço

Link para o comentário
Compartilhar em outros sites

  • 0

continuo sem entender,

da uma olhada no meu coodigo e v onde eu to errando =//

e em q...

#include<stdio.h>
#include<conio.h>
#include<iostream.h>

int cadastro (struct cad*);
     struct cad{
            char nome[20];
            char end[22];
            char ecivil[22];
            int numcliente[2];
            char fone[10];
            char rg[22];
            char data[10];
            char cic[22];
            char dep[3];
            };



int op;
struct cad dados[3];
int ch,opcao,cont,pesq,volta;
int decisao;


int menu (void){    
printf("\n\t\t\t:::::::::::Cadastro de clientes:::::::::::::");
printf("\n________________________________________________________________________________");
printf("\n");
printf("\n");
printf("\n\t\t <<<<<<<<MENU DE CADASTRO>>>>>>>>");
printf("\n");
printf("\n\t\t [ 1 ] - ADICIONAR UM NOVO CADASTRO ");
printf("\n\t\t [ 2 ] - PESQUISAR CADASTROS ");
printf("\n\t\t [ 3 ] - SAIR ");
printf("\n");
printf("\n");      
printf("                  ""   ] - DIGITE A OPCAO DESEJADA " );printf("\r");printf("                 [ ");printf("");  
scanf("%d",&op);
system ("cls");
return (op);
}
int cadastro(){
    
                printf("\t\t\t\n::::::CADASTRO DE CLIENTES:::::: ");
                printf("\n________________________________");
                                
                for (cont=0;cont<3;cont++){  
                               
                printf("\n>>>>>>>>ADICIONANDO REGISTRO...>>>>>>>> ");
                printf("\n\n");                
                printf("\nNumero de cadastro : ");
                scanf("%d",&dados[cont].numcliente);                
                printf("\nInsira o nome : ");
                scanf("%s",&dados[cont].nome);
                printf("\nInsira o Endereco : ");
                scanf("%s",&dados[cont].end);
                printf("\nInsira o Telefone : ");
                scanf("%s",&dados[cont].fone);
                printf("\nInsira o Estado civil : ");
                scanf("%s",&dados[cont].ecivil);
                printf("\nInsira o RG : ");
                scanf("%s",&dados[cont].rg);
                printf("\nInsira o CIC : ");
                scanf("%s",&dados[cont].cic);
                printf("\nInsira a data de nascimento : ");
                scanf("%s",&dados[cont].data);
                printf("\nInsira a quantidade de dependentes  : ");
                scanf("%s",&dados[cont].dep);
                printf("\n\t::::::CADASTRO REALIZADO COM SUCESSO::::::");
                printf("\n\n");
                printf("\n\n");                                   
                                
                //printf("\n DESEJA REALMENTE REALIZAR O CADASTRO?(1-SIM 2-não) - ");
               // scanf("%d",&decisao);
               // if (decisao==2){ menu();}
                //if(decisao==1){
                //cadastro();}
                }
                    return(0);            
                                }               
               
                
                                                                                
                                                                                                         
                
               // system("cls");



int pesquisa (){
    printf("\n\t\t\t::::::PESQUISA DE CLIENTES:::::: ");
    printf("\n________________________________________________________________________________");
    printf("\n\n");
    printf("                  ""    ] - DIGITE O NUMERO DE CADASTRO " );printf("\r");printf("                 [ ");printf("");
    scanf("%d",&ch);
    pesq = 0;
    for (cont=0;cont<3;cont++){
        if(ch==*dados[cont].numcliente){
            printf("\n CADASTRO ENCONTRADO : \n ");
            printf("\n");
            printf("\n\tCADASTRO No. %d",*dados[cont].numcliente);
              printf("\n________________________________");
              printf("\n");
            printf("\n NOME_________________- %s", dados[cont].nome);
            printf("\n ENDERECO_____________- %s", dados[cont].end);
            printf("\n TEL:_________________- %s", dados[cont].fone);
            printf("\n ESTADO CIVIL_________- %s", dados[cont].ecivil);
            printf("\n RG___________________- %s", dados[cont].rg);
            printf("\n CIC__________________- %s", dados[cont].cic);
            printf("\n DATA DE NASCIMENTO___- %s", dados[cont].data);
            printf("\n NUMERO DEPENDENTES___- %s", dados[cont].dep);
            pesq =1;
        }
        
           
              
            
        
}
    if (pesq==0){
    printf("\n\n\t\tCADASTRO não ENCONTRADO, TENTE NOVAMENTE...\n\n\n");
    getch();
    system("cls");
    menu();

}
}
  int main (){
      decisao=0;
    opcao=menu();
    
    while(op!=3){
                 if (op==1){
                 cadastro();
                 opcao=menu();
                            }
                 else
                 
              if (op==2){
                 pesquisa();
                 opcao=menu();
                           }else
                 if (op==3){
                            
                 printf("\n\nSAINDO DO PROGRAMA...\n\n\n\n\n\n\n\n");
                           }
        else  {
                  printf("ESCOLHA UMA OPCAO VALIDA");
                  menu();}
}
  
     system("PAUSE");
     
     return(0);          
     }

Link para o comentário
Compartilhar em outros sites

  • 0
ALOOWW? ?!?! alguém PODE AJUDAR AE?

=//

Up's não são permitidos conforme a regra 3.8 (ver regras)

3.8 Não é permitida a postagem de mensagens com a finalidade de manter o tópico no início da lista (up), nem de mensagens que não se refiram ao assunto do tópico (flood). Caso isso ocorra, as mensagens serão excluídas e os autores, advertidos.
Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152k
    • Posts
      651,8k
×
×
  • Criar Novo...