26/08/2009, 06:05
|
| | Fecha de Ingreso: agosto-2009
Mensajes: 16
Antigüedad: 15 años, 4 meses Puntos: 2 | |
ayuda con un programa c++ el problema es que el programa tira bien si le metes 2 entradas, pero a la tercera peta. alguien podria decirme porke me peta?
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;
}
|