Ir ao conteúdo
  • Cadastre-se
Mateus Gomes Magalhaes

C++ Programa de Cadastro de Clientes

Posts recomendados

*// Crie uma CRUD para um cadastro de clientes e armazene em um vetor com no máximo 50 posições, não deixar inserir mais que 50.

O cadastro deve apresentar um menu:

O código apresenta o seguinte erro:  Código cadastro.cpp:(.text+0x16b): undefined reference to `verifica_pos()'

 Código cadastro.cpp:(.text+0x1be): undefined reference to `verifica_cod(int)'

  Código cadastro.cpp:(.text+0x1ea): undefined reference to `Ccliente(int, int)'

  Código cadastro.cpp:(.text+0x32c): undefined reference to `consultaCod()'

  Código cadastro.cpp:(.text+0x344): undefined reference to `list()'

  Código cadastro.cpp:(.text+0x40f): undefined reference to `excluirCliente()'

  Código cadastro.cpp:(.text+0x594): undefined reference to `verifica_pos()'

  [Error] ld returned 1 exit status

 

 

 

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

using namespace std;

const int MAX = 50;

struct tp_data {
    int dia,mes,ano;
};
    
struct tp_cliente {
    int cod, vazio;
       char CPF;
       int telefone;
       string nome;
       tp_data nascimento;
       int status;
};

int verifica_pos(void);
int verifica_cod (int cod);
void Ccliente(int cod,int pos);
void list();
void consultaCod (void);
void excluirCliente (void);

int main (void) { 
    setlocale (LC_ALL,"portuguese");
    tp_cliente clientes[MAX];
    int tot = 0;
    int i,opcao,opcaocliente,posicao,retorno;
    int cod;
    
    do{
        cout << "1 - Cadastrar cliente" << endl;
        cout << "2 - Excluir cliente" << endl;
        cout << "3 - Alterar cliente" << endl;
        cout << "4 - Listar CLiente" << endl;
        cout << "0 - Aperte 0 para sair" << endl << endl;

        cout << "Selecione uma opção: ";
        cin >> opcao;
        if (opcao == 1)
        {
            cout << "Opção 1 selecionada - cadastrar novo cliente" << endl;
            posicao = verifica_pos ();
            
                if (posicao = -1)
                {
                    cout << "Entre com um código de 1 a 50 para o cadastro: ";
                    cin >> cod;
                    
                    retorno = verifica_cod (cod);
                    
                    if (retorno = 1 )
                        Ccliente (cod, posicao);
                        
                    else {
                        cout << "Codigo já existente ou inválido, pressione enter para sair.";
                        getchar ();
                        system ("cls");
                        main ();
                    }
                            
                }
                else
                    cout << "Nao e possivel realizar mais cadastros!";

                break; 
            
            
        }
        else if (opcao==4)
        {
            system ("cls");
            do {
                cout << "Opção 2 selecionada" << endl << endl;
                cout << "1- Pesquisar cliente por código" << endl;
                cout << "2 - Listar todos os Cliente " << endl;
                cout << "3- Voltar ao menu principal " << endl;
                cout << "Seleciona uma opção: ";
                cin >> opcaocliente;
                getchar ();
                    if (opcaocliente = 1) {
                        consultaCod ();
                    }
                    if (opcaocliente = 2){ 
                        list();
                    }
                    if (opcaocliente = 3) {
                        cout << "Voltar para o menu principal? Enter para continuar";
                        getchar ();
                        system ("cls");
                    }
                    else
                        cout << "opção inválida\n\n";
                }while(opcaocliente > 3 || opcaocliente < 0 ||opcaocliente == 0); 
        }
            if (opcao==3){
            
                cout << "Opção 3 selecionada - Alterar Cliente" << endl;
            }
            if (opcao == 2);
            {
                cout << "Opção 2 Selecionada - Excluir Cliente" << endl;
                excluirCliente ();
            }
            if (opcao == 0);
            {
                cout << "Você selecionou a opção sair";
            }        
    }while (opcao != 8 || opcao < 8);
}

void list (tp_cliente clientes[MAX], int tot,int codigo) { //função da lista de clientes
    int i, j;
    for (i=0;i<10,i++;) {
        if(clientes[tot].cod != 0){
            cout << "\nCodigo:, \nNome: , \nTelefone: , \nCPF:, \nDia do Nascimento:, \nMês do Nascimento:, \nAno do Nascimento: ", clientes[tot].cod, clientes [tot].nome, clientes[tot].telefone, clientes [tot].CPF, clientes[tot].nascimento.dia, clientes[tot].nascimento.mes, clientes[tot].nascimento.ano;
             
        }
    }
    cout << "Enter para voltar ao menu principal!";
    getchar ();
    system ("cls");
}

void Ccliente (tp_cliente clientes[MAX], int tot,int codigo, int pos) { //função do cadastro do cliente
    int i,opt;
    do {
        pos = verifica_pos ();
        
            cout << "Digite o nome do cliente: " <<endl ;
            cin >> clientes [tot].nome;
            cout << "Digite o CPF: " << endl;
            cin >> clientes [tot].CPF;
            cout << "Insira o telefone: " << endl;
            cin >> clientes[tot].telefone;
            cout << "Data de Nascimento: \n ";
            cout << "Dia: ";
            cin >> clientes[tot].nascimento.dia;
            cout << "Mes: ";
            cin >> clientes[tot].nascimento.mes;
            cout << "Ano: ";
            cin >> clientes[tot].nascimento.ano;
            clientes[tot].status = 0;
            opt ==1;
            getchar();   
        }while(opt==1);
            system("cls");
            main();
                
}

int verifica_pos( tp_cliente clientes[MAX], int tot,int codigo ){ //função do verificador de posição

int cont = 0;

    while ( cont <= 10 )
    {

        if ( clientes[cont].vazio == 0 )
            return(cont);

        cont++;

    }

    return(-1);

int verifica_cod( tp_cliente clientes[MAX], int tot,int codigo, int cod) // função de verificador de código
{
    int cont = 0;

    while ( cont <= 10 )
    {
        if ( clientes[cont].cod == cod )
            return(0);

        cont++;
    }

    return(1);

}

void consultaCod (tp_cliente clientes[MAX], int tot,int codigo) {
    int cont=0, cod;
    
    cout << "Entre com o código desejado: " << endl;
    cin >> cod;
    system ("cls");
    
    while (cod <= 10)
    {
        if (clientes[cont].cod = cod)
        {
            if (clientes[cont].vazio = 1 )
            {
                cout << "\nCodigo:, \nNome: , \nTelefone: , \nCPF:, \nDia do Nascimento:, \nMês do Nascimento:, \nAno do Nascimento: ", clientes[tot].cod, clientes [tot].nome, clientes[tot].telefone, clientes [tot].CPF, clientes[tot].nascimento.dia, clientes[tot].nascimento.mes, clientes[tot].nascimento.ano;
                
                system ("pause");
                
                system ("cls");
                
                break;
            }
        }
        
        cont++;
        
        if (cont > 10) {
            cout << "Código nao encontrado! Aperte enter para sair.";
            getchar ();
            system ("cls");
        }
    }
    
}

void excluirCliente (tp_cliente clientes[MAX], int tot,int codigo) {
    int cod, cont = 0;
    char resp;
    cout << "Entre com o código de registro que deseja excluir" << endl;
    cin >> cod;
    
    while (cont <= 10)
    {
        if (clientes[tot].cod = cod)
        {
            if(clientes[cont].vazio = 1)
            {
                cout << "\nCodigo:, \nNome: , \nTelefone: , \nCPF:, \nDia do Nascimento:, \nMês do Nascimento:, \nAno do Nascimento: ", clientes[tot].cod, clientes [tot].nome, clientes[tot].telefone, clientes [tot].CPF, clientes[tot].nascimento.dia, clientes[tot].nascimento.mes, clientes[tot].nascimento.ano;
                getchar ();
                cout << "Deseja realmente excluir? s/n:" << endl;
                cin >> resp;
                
                if ( (resp = 'S') || (resp = 's'))
                {
                    clientes[cont].vazio = 0;
                    clientes[cont].cod = 0;
                    cout << "Exclusão Realizada com sucesso";
                    break;
                }
                else 
                {
                    if ( ( resp == 'N' ) || ( resp == 'n' ) )
                    {
                        cout << "Exclusão cancelada";
                        break;
                    }
                    
                }
                
            }
        }
        
        cont++;
        
        if (cont > 10)
            cout << "Código nao encontrado";
        
    }
}

Compartilhar este post


Link para o post
Compartilhar em outros sites

Deve ser porque você definiu as funções com argumentos diferentes das declarações. Eu resolvo esse tipo de situação colocando as funções que crio acima do main (se estiver usando somente um arquivo).

  • Amei 1

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

×
×
  • Criar novo...

GRÁTIS: minicurso “Como ganhar dinheiro montando computadores”

Gabriel TorresGabriel Torres, fundador e editor executivo do Clube do Hardware, acaba de lançar um minicurso totalmente gratuito: "Como ganhar dinheiro montando computadores".

Você aprenderá sobre o quanto pode ganhar, como cobrar, como lidar com a concorrência, como se tornar um profissional altamente qualificado e muito mais!

Inscreva-se agora!