Pontos 0 Denunciar post Postado Setembro 21, 2009 Olá pessoal, pimeiro deixo claro que será possivel encontrar erros de portugues aqui no que estou escrevedo mas não e o caso. Ultimamente estou tendo um pequeno problema! Não estou comsseguindo utilizar os dados dessa classe em uma funcão de manipulaçao de arquivos, o que quero fazer e o seguinte, utilizar os dados inseridos na classe para serem armazenados em uma função com a manipulaçao de arquivos como se ve abaixo. Obs: O codigo esta uma bagunça mas depois que alguem me ajudar se possivel e o arrumarei corretamente do jeito que deveria estar... #include<iostream.h> #include <stdlib.h> #include <string.h> #include<fstream.h> char finaliza, confirma; int opcao; class Pessoa { char nome[], endereco[], cargo[], empresa[], cidade[], descricao[], preco[]; int idade, telefone, estoque, cpf; float salario, preco_compra, preco_venda; public: void funcionario() { cout<<"cadastro de funcionarios"<<endl; cout<<"Nome: "<<endl; cin.getline(nome,50); cout<<"Endereco: "<<endl; cin.getline(endereco,50); cout<<"Idade: "<<endl; cin>>idade; cout<<"Cargo: "<<endl; cin.getline(cargo,30); cout<<"Salario liquido: "<<endl; cin>>salario; } void fornecedor() { cout<<"Empresa: "<<endl; cin.getline(empresa,50); cout<<"Endereco: "<<endl; cin.getline(endereco,50); cout<<"Cidade: "<<endl; cin.getline(cidade,50); cout<<"Telefone: "<<endl; cin>>telefone; } void cliente() { cout<<"Nome: "<<endl; cin.getline(nome,50); cout<<"CPF: "<<endl; cin>>cpf; cout<<"Endereco: "<<endl; cin.getline(endereco,50); cout<<"Telefone: "<<endl; cin>>telefone; } }; void arquivar() { if(opcao == '1') { finaliza='s'; ofstream arq("funcionario.txt" ,ios::app); if(! arq) { cerr<<"Arquivo nao encontrado"<<endl; exit(1); } while(finaliza=='s') { cout<<"Confirma os dados inseridos?"; cin>>confirma; if(confirma=='s') { arq; } cout<<"Deseja novo cadastro?"<<endl; cin>>finaliza; } } if(opcao == '2') { finaliza='s'; ofstream arq("fornecedor.txt" ,ios::app); if(! arq) { cerr<<"Arquivo nao encontrado"<<endl; exit(1); } while(finaliza == 's') { cout<<"Confirma os dados inseriodos?"; cin>>confirma; if(confirma == 's') { arq; } cout<<"Deseja novo cadastro?"<<endl; cin>>finaliza; } } if(opcao == '3') { finaliza='s'; ofstream arq("CLientes.txt" ,ios::app); if(! arq) { cerr<<"Arquivo nao encontrado"<<endl; exit(1); } while(finaliza == 's') { cout<<"Confirma os dados inseridos?"; cin>>confirma; if(confirma == 's') { arq; } cout<<"Deseja novo cadastro?"<<endl; cin>>finaliza; } } //arq.close(); } int main() { Pessoa cadastro; cout<<"1- Opcoens de cadastro"<<endl; cout<<"2- Opcoens de consulta"<<endl; cin>>opcao; switch (opcao) { case 1: cout<<"1-funcionario"<<endl; cout<<"2-fornecedor"<<endl; cout<<"3-cliente"<<endl; switch (opcao) { case 1: cadastro.funcionario(); void arquivar(); break; case 2: cadastro.fornecedor(); void arquivar(); break; case 3: cadastro.cliente(); void arquivar(); break; default: cout<<"Opcao invalida tente novamente"; cin>>(opcao); break; break; } case 2: cout<<"1-funcionario"<<endl; cout<<"2-fornecedor"<<endl; cout<<"3-cliente"<<endl; break; cin>>opcao; cin.ignore(); } } Compartilhar este post Link para o post Compartilhar em outros sites
VictorCacciari 42 Denunciar post Postado Setembro 22, 2009 Ok... Onde está a dúvida e qual o erro?? Pra já: #include<iostream.h> #include <stdlib.h> #include <string.h> #include<fstream.h> O sufixo .h não existe nos headers de C++. E quando for incluir um header de c, retire o sufixo .h e coloque o prefixo c Portanto, ficaria: #include <iostream> #include <fstream> #include <cstdlib> #include <cstring> Compartilhar este post Link para o post Compartilhar em outros sites
Pontos 0 Denunciar post Postado Setembro 22, 2009 Ok... Onde está a dúvida e qual o erro?? Pra já: #include<iostream.h> #include <stdlib.h> #include <string.h> #include<fstream.h> O sufixo .h não existe nos headers de C++. E quando for incluir um header de c, retire o sufixo .h e coloque o prefixo c Portanto, ficaria: #include <iostream> #include <fstream> #include <cstdlib> #include <cstring> Apesar de nao ser esse o problema, mas valeu a informação eu quero e criar um classe por exemplo com os dados do meu cliente como se ve no codigo que eu fiz e depois armazenar utilizando uma função de manipulação de arquivos. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 22, 2009 Tava tentando entender seu código neh.. depois de uns 5 minutos HFUDAHS. vi q você ta fazendo uma comparação errada ai. opcao é do tipo int, entaum compare ela assim 'variavel == 1' e naum assim: 'variavel == "1"'; e pra dar uma reforçada em como salvar: http://forum.imasters.com.br/index.php?/topic/261303-codigo-gravacao-simples/ []s Compartilhar este post Link para o post Compartilhar em outros sites
Pontos 0 Denunciar post Postado Setembro 22, 2009 Tava tentando entender seu código neh.. depois de uns 5 minutos HFUDAHS. vi q você ta fazendo uma comparação errada ai. opcao é do tipo int, entaum compare ela assim 'variavel == 1' e naum assim: 'variavel == "1"'; e pra dar uma reforçada em como salvar: http://forum.imasters.com.br/index.php?/topic/261303-codigo-gravacao-simples/ []s valeu pela dica tambem, mas tipo a gravacao simples e facil o ploblema e com a classe que eu nao sei como fazer os campos do objeto serem armazenados. Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Setembro 23, 2009 pq você n cria funções tipo getNome(); e grava elas no arquivo! entendeu?? Compartilhar este post Link para o post Compartilhar em outros sites
Pontos 0 Denunciar post Postado Setembro 25, 2009 pode colocar como rsolvido, ja fiz como queria que ficasse... Compartilhar este post Link para o post Compartilhar em outros sites