hola, tengo un problemilla con este programa, que no se porque no puedo meter mas de 2 o 3 entradas porque me tira un error el ejecutable y no entiendo por que, creo que deberia tirar bien pero no se, a ver si alguien me dice qué es lo que estoy haciendo mal xDDD
#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;
}