Guest sonicmaster Postado Agosto 21, 2008 Denunciar Share Postado Agosto 21, 2008 O que está mal. Porque não guarda os dados direito?#include <iostream> #include <iomanip> #include <string> #include <ctype.h> using namespace std; //DEFINICAO DA SUPERCLASSE PESSOA class Pessoa{ private: char *nome; char *bi; public: Pessoa (char* nome, char *bi); ~Pessoa(); const char* carregaNome() const; const char* carregaBi()const; void lerDadoPessoa( char *nome, char *bi); }; //fim da definicao da classe Pessoa::Pessoa (char * nome_p, char *n_bi) { bi = new char[strlen(n_bi)+1];//criar espaço para o nome nome = new char[strlen(nome_p)+1];//criar espaço nome=nome_p; bi=n_bi; } Pessoa::~Pessoa(){ cout << "\nPessoa " << bi<< "encerrada."; delete [] nome; } inline const char* Pessoa::carregaNome() const{ return nome; } inline const char* Pessoa::carregaBi() const{ return bi; } void MostraPessoa(Pessoa &);//função prototipo Pessoa * criaPessoa(); void MostraPessoa(Pessoa &pess) { cout << "\n\nNome da Pessoa: " << pess.carregaNome(); cout << "\n\nNumero de Bilhete de Identidade: " << pess.carregaBi(); } int main() { cout<< setprecision(2) << setiosflags(ios::fixed) << setiosflags(ios::showpoint); Pessoa* pess_tab[10]; int count=0, i; char resposta; cout <<"\n\nDeseja inserir uma pessoa? (S/N): "; resposta=cin.get(); cin.get(); while (toupper(resposta)=='S' && count < 10 ) { pess_tab[count]=criaPessoa(); ++count; cout <<"\n\nDesja cria mais uma Pessoa? (S/N): "; resposta=cin.get(); cin.get(); } for (int i=0; i<count; ++i) MostraPessoa(*pess_tab[i]); /*for (i=0;i<count;++i) delete pess_tab[i]; */ return 0; } Pessoa * criaPessoa() { char buffer[81]; char id[10]; Pessoa* p_ptr; cout << "\n\n Insira o Nome: "; cin.getline (buffer, 81); cout<<"\n\n Insira o Nu'mero de BI: "; cin.getline (id, 10); cin.get();//limpa o buffer de input de dados p_ptr = new Pessoa(buffer, id); return p_ptr; } Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
Guest sonicmaster
O que está mal. Porque não guarda os dados direito?
Link para o comentário
Compartilhar em outros sites
0 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.