warkold
-
Total de itens
16 -
Registro em
-
Última visita
Posts postados por warkold
-
-
#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
-
-
Cara, já coloquei o nome de cada arquivo nos primeiros posts.Tem como você me passar o código corrigido?
Obrigadão ai
-
Rapaz, coloquei a construtora e destrutora mas não deu ainda . !_!
-
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_
-
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(); };
-
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
-
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
-
to fazendo
*clients=*clients - x;
ele ta retornando um valor absurdo Oo
-
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"...
-
Mas eu declaro int *clients= 5?
Vai dar error de conversão int to int* Oo
-
#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)
-
Não tem alocar uma struct sem ela ser ponteiro?
-
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;
-
#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*'
Problemas no reconhecimento de classes
em C, C++
Postado