Ir para conteúdo
Fórum Script Brasil

warkold

Membros
  • Total de itens

    16
  • Registro em

  • Última visita

Posts postados por warkold

  1. #ifndef _GERENTE_H_
    #define _GERENTE_H_
    #include "Pessoa.h"
    class Banco;
    class Gerente: public Pessoa{
          private:
    
          Banco *p; //ponteiro para objeto banco
          public:
           
           Gerente();
           ~Gerente();
           Gerente(int c,int d,int m,int a,char* n="");
           void setBanco(Banco* bc);
           float ConcederLimite(int idadeP);
    };
    #endif

  2. #ifndef _BANCO_H_
    #define _BANCO_H_       
    #include "Cliente.h"
    class Banco
    {
          private:
          char NomeBanco[40];
          int NumeroClientes;
          Cliente *pPrim;
          Cliente *PUlt;
          public:
          Banco();
          ~Banco();
          void setNome(char *n);
          char* getNome();
          void InsereCliente(Cliente* cl,float quantia);
          int PermitirSaque(int NumeroConta,float quantia);
    };
    #endif

  3. Gerente.h

    #ifndef _GERENTE_H_
    #define _GERENTE_H_
    #include "Banco.h"
    #include "Pessoa.h"
    class Gerente: public Pessoa{
          private:
    
          Banco *p; //ponteiro para objeto banco
          public:
           
           Gerente();
           ~Gerente();
           Gerente(int c,int d,int m,int a,char* n="");
           void setBanco(Banco* bc);
           float ConcederLimite(int idadeP);
    };
    #endif
    Pessoa.h
    #ifndef _PESSOA_H_
    #define _PESSOA_H_
    class Pessoa{
          private:
          char nomeP[40];
          int CPFP;
          int diaP;
          int mesP;
          int anoP;
          int idadeP;
          public:
          Pessoa(int c,int d,int m,int a,char *n="");
          Pessoa();
          ~Pessoa();
          void calc_idade(int diaT,int mesT,int anoT);
          int getidade();          
    };
    #endif
    Principal.h
    #include "Banco.h"
    #include "Cliente.h"
    #include "Pessoa.h"
    #include "Gerente.h"
    
    class Principal
    {
          private:
          Banco Brasil;
    
          Gerente Marco;
    
          Cliente Ronaldo;
          Cliente Jose;
    
          int dia;
          int mes;
          int ano;       
             
          public:
          Principal();
          ~Principal();
          void Inicializa();
          void CalcIdadeClients();
          void Executar();
    };

  4. Banco.h

    #ifndef _CLIENTE_H_
    #define _CLIENTE_H_
    #include "Cliente.h"
    
    class Banco
    {
          private:
          char NomeBanco[40];
          int NumeroClientes;
          Cliente *pPrim;
          Cliente *PUlt;
          public:
          void setNome(char *n);
          char* getNome();
          void InsereCliente(Cliente* cl,float quantia);
          int PermitirSaque(int NumeroConta,float quantia);
    };
    
    #endif
    Cliente.h
    #ifndef _GERENTE_H_
    #define _GERENTE_H_
    #include "Gerente.h"
    #include "Pessoa.h"
    
    
    class Cliente: public Pessoa
    {
          private:
          float SaldoC;
          int NumeroConta;
         Gerente *p;
          public:
                 
          Cliente *pProx;
          Cliente(int c,int d,int m,int a,char* n="");
          Cliente();
          ~Cliente();
          void setGerente(Gerente *pnc);
          char getNome();
          int setNumero(int numero);
          void setSaldo(int valor);
          float getSaldo();
          void FazerSaque(float quantia);
    };
    
    #endif

    ERROR ISO C++ forbids declaration of `Cliente' with no type

    Ele não está reconhecendo a classe cliente.Aí não da pra fazer a lista encadeada.

    Compilador: Dev-c++ 4.9.9.2

  5. Então, quando eu chamo a função alterar eu quero q o for(i=0;i=x;i++) use o X que o usuario digitou quando foi cadastrar clientes...

    Tem como?

    E ta dando problema quando eu faço if(cod_cliente== addcus.cod_cliente)

    cod_cliente= codigo q o usuario vai digitar para procurar nas structs e achar o correto para poder alterar o endereço,email,telefone

  6. Entendi, mas por exemplo..

    Usuario vai cadastrar 2 clientes.. o maximo é 5..

    Faz todos os passos.cod_cliente,endereço.

    Ele volta pra segunda opção

    Usuario,novamente, quer cadastrar +2 clientes.

    (...)

    Usuario.... quer cadastrar +1 cliente.

    Ou seja, ele chegou no limite que é 5.

    Como eu faço que o" clients" fique diminuindo com o valor q o usuario digitou, seja 1,2,3,4,5,.Para que o cliets não fique resetando para o default que é 5.Ou seja, toda hora que ele for entrar no cadastrar(com o programa aberto), a função avise "OLHA, AINDA RESTAM 3 espaços"...

  7. #include <stdio.h>
    #include <stdlib.h>
    #include "string"


    struct clientes
    {
    int cod_cliente;
    char endereco[30];
    char telefone[9];
    char email[30];
    }*addcus;

    struct Notas
    {
    int numero_NF;
    int cod_cliente;
    float total_geral;
    }*addnots;

    struct Itens_Notas
    {
    int numero_NF;
    int cod_produto;
    int quant;
    float preco_venda;
    }*additenots;

    struct Produtos
    {
    int numero_NF;
    char descricao[30];
    int un;
    float preco_un;
    int quant_estq;
    }*addprod;

    void excluir(struct clientes *addcus,struct Notas *addnots,int clients,int nots)
    {
    int cod_cliente;
    printf("Digite o codigo do cliente para ser excluido\n");
    fflush(stdin);
    scanf("%i",&cod_cliente);
    for(int x=0;x=5;x++)
    {
    if(cod_cliente==addcus[x].endereco[0])
    {
    printf("Cliente não existente\n");
    }
    else
    {
    printf("Cliente encontrado");
    }
    }
    }














    void alterar(struct clientes *addcus,int clients)
    {
    register int i=0;
    char endereco[30];
    int cod_cliente='';
    int telefone='';
    char email[30];

    printf("Digite o codigo do cliente\n");
    fflush(stdin);
    scanf("%c",endereco);

    for(i=0;i=5;i++)
    {
    if(addcus[i].endereco==endereco)
    {
    printf("Digite o endereco do cliente\n");
    fflush(stdin);
    gets(endereco);
    printf("Digite o telefone do cliente\n");
    fflush(stdin);
    scanf("%i",&telefone);
    printf("Digite o email do cliente\n");
    fflush(stdin);
    scanf("%i",&cod_cliente);
    }
    }
    }

    void add(struct clientes *addcus,int clients)
    {

    //ARRUMAR CODIGO REPETIDO
    register int x=0;
    do
    {
    printf("Quantos clientes voce gostaria de cadastrar?\n");
    fflush(stdin);
    scanf("%i",&x);
    if(x>5)
    {
    printf("Voce extrapolou o limite de 5 clientes\n");
    getchar();
    getchar();
    system("cls");
    }
    }while(x>5);
    printf("Serao cadastrados %i clientes(max %i)\n",x,clients);
    addcus =(struct clientes*)malloc((x) * sizeof(struct clientes));

    if(!addcus)
    {
    printf("Falha na alocacao de memoria\n");
    exit(1);

    }



    for(int i=0;i<x;i++)
    {
    printf("Digite o codigo do cliente %i\n",i+1);
    fflush(stdin);
    scanf("%i",&addcus[i].cod_cliente);
    printf("Digite o endereco do cliente %i\n ",i+1);
    fflush(stdin);
    scanf("%s",&addcus[i].endereco);
    printf("Digite o telefone do cliente %i\n",i+1);
    fflush(stdin);
    gets(addcus[i].telefone);
    printf("Digite o email do cliente %i\n",i+1);
    fflush(stdin);
    scanf("%s",&addcus[i].email);

    }
    clients=clients-x;
    printf("Ainda restam %i para ser cadastrados",clients);
    system("PAUSE");

    }





    //void cadastro(struct clientes,struct Produtos,struct Notas,struct Itens_Notas,int *,int *,int *, int *);
    void cadastro(struct clientes *addcus,struct Produtos *addprod,struct Notas *addnots,struct Itens_Notas *additenots,int *prodts,int *nots, int *itenots, int *clients ) // FUNÇÃO CADASTRAR
    {



    int menu=-1;

    while(menu!=7)
    {
    printf("OPCAO CADASTRO!!!\n");
    printf("Digite 1-Incluir Clientes\n");
    printf("Digite 2-Alterar Clientes\n");
    printf("Digite 3-Excluir Clientes\n");
    printf("Digite 4-Incluir Produtos\n");
    printf("Digite 5-Alterar Produtos\n");
    printf("Digite 6-Excluir produtos\n");
    printf("Digite 7-Sair do programa\n");
    scanf("%i",&menu);
    switch(menu)
    {
    case 1:
    {
    int clients=5;
    add(addcus,clients);

    }
    break;
    case 2:
    {
    int clients=clients;;
    alterar(addcus,clients);
    }
    break;
    case 3:
    {
    int clients =5;
    int nots=10;
    excluir(addcus,addnots,clients,nots);

    }
    break;
    case 4:
    {
    break;
    }
    case 5:
    {
    break;
    }
    case 6:
    {
    break;
    }
    case 7:
    {
    exit(1);
    }
    default:
    {
    printf("Opcao invalida");
    break;
    }
    }
    }
    }





    //PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA


    int main()
    {
    int *prodts;
    int *nots;
    int *itenots;
    int *clients;
    int op=0;

    while(op!=4)
    {
    printf("Gerenciador de estoque!!!\n");
    printf("Digite 1-Cadastro de produtos\n");
    printf("Digite 2-Movimentação de produtos\n");
    printf("Digite 3-Consulta de produtos\n");
    printf("Digite 4-Sair do programa\n>>");
    scanf("%i",&op);
    switch(op)
    {
    case 1:
    {
    system("cls");
    cadastro(addcus,addprod,addnots,additenots,prodts,nots,itenots,clients);

    }
    break;
    case 2:
    {

    }
    break;
    case 3:
    {

    }
    break;
    case 4:
    {
    exit(1);
    }
    default:
    {
    printf("Opcao invalida");

    }
    break;
    }
    }
    }
    [/codebox]

    Agora ta dando error nessa função

    [codebox]void alterar(struct clientes *addcus,int clients)
    {
    register int i=0;
    char endereco[30];
    int cod_cliente='';
    int telefone='';
    char email[30];

    printf("Digite o codigo do cliente\n");
    fflush(stdin);
    scanf("%c",endereco);

    for(i=0;i=5;i++)
    {
    if(addcus[i].endereco==endereco)
    {
    printf("Digite o endereco do cliente\n");
    fflush(stdin);
    gets(endereco);
    printf("Digite o telefone do cliente\n");
    fflush(stdin);
    scanf("%i",&telefone);
    printf("Digite o email do cliente\n");
    fflush(stdin);
    scanf("%i",&cod_cliente);
    }
    }
    }

    Eu cadastro o usuario..porém quando peço para alterar os dados o programa fecha com error...

    Tentei colocar int cont=length(clients); para colocar no lugar do "i=5"

    Só que fala

    `length' undeclared (first use this function)

  8. no match for 'operator=' in 'addcus = malloc(((*clients) * 72u))'

    candidates are: clientes& clientes::operator=(const clientes&)

    =/

    Nem desse jeito da certo

    unsigned int x=0;
    printf("Quantos clientes voce gostaria de cadastrar?\n");
    fflush(stdin);
    scanf("%i",&x);
    if(x<=5)
    {
    printf("Serao cadastrados %i clientes(max %i)\n",x,clients);
    addcus = malloc((x)*sizeof(struct clientes));
    if(!addcus)
    {
    printf("Falha na alocacao de memoria\n");
    exit(1);

    }
    clients=clients -x;
    }
    else
    {
    printf("Voce extrapolou o limit de %i clientes\n",clients);
    exit(1);
    }[/codebox]

    na declaração do clients int unsigned clients = 5;

  9. #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>


    struct clientes
    {
    int cod_cliente;
    char endereco[30];
    int telefone;
    char email[30];
    }addcus;

    struct Notas
    {
    int numero_NF;
    int cod_cliente;
    float total_geral;
    }addnots;

    struct Itens_Notas
    {
    int numero_NF;
    int cod_produto;
    int quant;
    float preco_venda;
    }additenots;

    struct Produtos
    {
    int numero_NF;
    char descricao[30];
    int un;
    float preco_un;
    int quant_estq;
    }addprod;

    int alterar(struct clientes addcus,int clients)
    {
    int cont;
    int i=0;
    int cod_cliente,telefone;
    char endereco[30];
    char email[30];

    printf("Digite o codigo do cliente\n");
    fflush(stdin);
    scanf("%i",&cod_cliente);

    for(i=0;i=cont;i++);
    {
    // if(cod_cliente==addcus[i].cod_cliente)
    {
    // printf("endereco %s",addcus[i].endereco);

    printf("Digite o novo endereco do %i",cod_cliente);
    fflush(stdin);
    gets(endereco);
    printf("Digite o novo telefone do %i\n",cod_cliente);
    fflush(stdin);
    scanf("%i",&telefone);
    printf("Digite o novo email do %i\n",cod_cliente);
    fflush(stdin);
    gets(email);
    // endereco==addcus[clients].endereco;
    }
    }
    }

    int add(struct clientes addcus,unsigned int *clients)
    {
    printf("teste\n");

    }





    //void cadastro(struct clientes,struct Produtos,struct Notas,struct Itens_Notas,int *,int *,int *, int *);
    void cadastro(struct clientes addcus,struct Produtos addprod,struct Notas addnots,struct Itens_Notas additenots,unsigned int *prodts,unsigned int *nots,unsigned int *itenots,unsigned int *clients ) // FUNÇÃO CADASTRAR
    {



    int menu=-1;

    while(menu!=7)
    {
    printf("OPCAO CADASTRO!!!\n");
    printf("Digite 1-Incluir Clientes\n");
    printf("Digite 2-Alterar Clientes\n");
    printf("Digite 3-Excluir Clientes\n");
    printf("Digite 4-Incluir Produtos\n");
    printf("Digite 5-Alterar Produtos\n");
    printf("Digite 6-Excluir produtos\n");
    printf("Digite 7-Sair do programa\n");
    scanf("%i",&menu);
    switch(menu)
    {
    case 1:
    {


    printf("Quantos clientes voce gostaria de cadastrar?\n");
    fflush(stdin);
    scanf("%i",&clients);
    addcus =malloc(clients * sizeof(struct clientes));
    add(addcus,clients);


    }
    break;
    case 2:
    {

    }
    break;
    case 3:
    {
    break;
    }
    case 4:
    {
    break;
    }
    case 5:
    {
    break;
    }
    case 6:
    {
    break;
    }
    case 7:
    {
    exit(1);
    }
    default:
    {
    printf("Opcao invalida");
    break;
    }
    }

    }

    }





    //PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA//PROGRAMA


    int main()
    {
    unsigned int *prodts=0,*nots=0,*itenots=0,*clients=0;
    int op=0;

    while(op!=4)
    {
    printf("Gerenciador de estoque!!!\n");
    printf("Digite 1-Cadastro de produtos\n");
    printf("Digite 2-Movimentação de produtos\n");
    printf("Digite 3-Consulta de produtos\n");
    printf("Digite 4-Sair do programa\n>>");
    scanf("%i",&op);
    switch(op)
    {
    case 1:
    {
    system("cls");
    cadastro(addcus,addprod,addnots,additenots,prodts,nots,itenots,clients);

    }
    break;
    case 2:
    {

    }
    break;
    case 3:
    {

    }
    break;
    case 4:
    {
    exit(1);
    }
    default:
    {
    printf("Opcao invalida");

    }
    break;
    }

    }
    }
    [/codebox]

    [codebox]printf("Quantos clientes voce gostaria de cadastrar?\n");
    fflush(stdin);
    scanf("%i",&clients);
    addcus =malloc(clients * sizeof(struct clientes));
    add(addcus,clients);

    Ta dando erro nessa linha.

    invalid operands of types `unsigned int*' and `unsigned int' to binary `operator*'

×
×
  • Criar Novo...