Usamos cookies para medir audiência e melhorar sua experiência. Você pode aceitar ou recusar a qualquer momento. Veja sobre o iMasters.
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;
}
};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©; //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/](http://forum.imasters.com.br/public/style_emoticons/)default/natal_biggrin.gifmas "c" é um array de char, que serve para o cpf, pois erei utilizar ".", "-"
;)
Valeu pessoal, eu jah solucionei a bronca...
;)
diga para a gente oq fez para conseguir!
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????
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????
ok, muito obrigado
:)
cara o gets [e somente para ler strings e naum numeros inteiros!