Hponto 0 Denunciar post Postado Dezembro 22, 2007 Olá pessoal, tenho uma divida: eu fiz um programinha(estou aprendo POO) e na segunda chamada à funcao "gets()"; nao funciona, tive que utilizar "cin >>". onde eu errei??? como eu faco para que eu utilize gets sem preocupacao????? gets() estão nas linhas: 31 e 35; #include<iostream.h> #include<cstdio> #include<cstring> class Pessoa{ private: int idade; char nome[40], cpf[15]; public: //Metodo construtor Pessoa(int i, char n[], char c[]){ idade = i; strcpy(nome, n); strcpy(cpf, c); } void display(){ cout << "ola " << nome << ", voce tem " << idade << " anos" << endl; cout << "seu CPF: " << cpf << endl << endl; } }; //Final da classe Pessoa int main(){ int i; char n[40], c[15]; // CPf do tipo char, pois será utilizado "." e "-" cout << "entre com o nome do cliente: "; gets(n); cout << "idade: "; cin >> i; ///////// cout << "CPF: "; gets©; //a fincao acima gets© nao estah fincionando, muito embora no gets(n) mais acima funcione //////// //cin >> c; Pessoa a(i, n, c);// instanciando "a" do tipo Pessoa, passando os parametros p/ função construtora a.display(); //{cout << endl << a.idade << endl;} essa linha nao funcionaria, pois o atributo é privado system("PAUSE"); return(0); } http://forum.imasters.com.br/public/style_emoticons/default/natal_biggrin.gif Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 22, 2007 cara o gets [e somente para ler strings e naum numeros inteiros! Compartilhar este post Link para o post Compartilhar em outros sites
Hponto 0 Denunciar post Postado Dezembro 22, 2007 mas "c" é um array de char, que serve para o cpf, pois erei utilizar ".", "-" ;) Compartilhar este post Link para o post Compartilhar em outros sites
Hponto 0 Denunciar post Postado Dezembro 22, 2007 Valeu pessoal, eu jah solucionei a bronca... ;) Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 23, 2007 diga para a gente oq fez para conseguir! Compartilhar este post Link para o post Compartilhar em outros sites
Hponto 0 Denunciar post Postado Dezembro 23, 2007 Olá pessoal, eu nao estava limpando do o "buffer", como na ling. "C". no c++ a biblioteca utilizada é a "cstdio" o comando é o mesmo: fflush(stdin). antes de cada chamada a gets(); o método cadAluno segue logo abaixo: void Aluno::cadAluno(){ cout << "cadastro de aluno" << endl << endl; cout << "Nome do aluno: "; fflush(stdin); gets(nome); cout << "Idade: "; cin >> idade; cout << "Serie: "; fflush(stdin); gets(serie); cout << "Turma: "; fflush(stdin); gets(turma); } como eu faco para definir o topico como resolvido???? Compartilhar este post Link para o post Compartilhar em outros sites
quitZAUMMM 18 Denunciar post Postado Dezembro 24, 2007 Obrigado por compartilhar a solução do seu problema :D Eu jah fiz isso! é soh você postar q foi resolvido e pronto!! como eu faco para definir o topico como resolvido???? Compartilhar este post Link para o post Compartilhar em outros sites
Hponto 0 Denunciar post Postado Dezembro 24, 2007 ok, muito obrigado :) Compartilhar este post Link para o post Compartilhar em outros sites