Ir para conteúdo
Fórum Script Brasil

warkold

Membros
  • Total de itens

    16
  • Registro em

  • Última visita

Tudo que warkold postou

  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. Cara, fiz isso e deu vários errors.
  4. Cara, já coloquei o nome de cada arquivo nos primeiros posts.Tem como você me passar o código corrigido? Obrigadão ai
  5. Rapaz, coloquei a construtora e destrutora mas não deu ainda . !_!
  6. Cara, creio que fiz tudo o que você pediu,porém da outro problema. ISO C++ forbids declaration of `Gerente' with no type Coloquei na classe banco # define _BANCO_H_ classe cliente #define _CLIENTE_H_ classe gerente #define _GERENTE_H_ classe pessoa #define _PESSOA_H_
  7. 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(); };
  8. 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
  9. warkold

    Alocação de memória

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

    Alocação de memória

    to fazendo *clients=*clients - x; ele ta retornando um valor absurdo Oo
  11. warkold

    Alocação de memória

    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"...
  12. warkold

    Alocação de memória

    Mas eu declaro int *clients= 5? Vai dar error de conversão int to int* Oo
  13. warkold

    Alocação de memória

    #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)
  14. warkold

    Alocação de memória

    Não tem alocar uma struct sem ela ser ponteiro?
  15. warkold

    Alocação de memória

    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;
  16. #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...