Código:
#include <iostream> #include <string> #include <sstream> using namespace std; int contador=0; class datos { private: string numeros; char nomape[40]; char dir[50]; char poblacion[10]; int tel, telfijo; public: datos(); void mostrardatos(void); }*per[40]; datos::datos(){ cout << "\n introduce nombre y apellidos "<<endl; cin.getline (nomape, sizeof(nomape)); cout << "\n introduce direccion "<<endl; cin.getline (dir, sizeof(dir)); cout << "\n introduce poblacion "<<endl; cin.getline (poblacion, sizeof(poblacion)); cout << "\n introduce telefonos, primero fijo 2 movil "<<endl; getline (cin, numeros); stringstream (numeros) >> telfijo; getline (cin, numeros); stringstream (numeros) >> tel; } void datos::mostrardatos(void){ cout << "nombre : " << nomape<<endl; cout << "direccion : "<<dir<<endl; cout << "poblacion : "<<poblacion<<endl; cout << "Tel fijo : "<<telfijo << " tel movil : "<<tel<<endl; } int main () { int opcion; string mystr; loop: int contemp=0; cout << "introduce opcion, 1=grabar, 2=mostrar, 0=salir "<<endl; cin >> opcion; cin.get(); switch (opcion){ case 0: break; case 1: cout << "introduce entradas "<<endl; cin>>contemp; cin.get(); for (int n=0;n<contemp;n++){ per[(n+contador)]=new datos; contador++;} goto loop; case 2: for (int n=0;n<contador;n++){ per[n]->mostrardatos();} goto loop; default: cout << "opcion erronea"<<endl; goto loop;} cin.get(); return 0; }