Ayuda con este codigo c++, tiene un error
Publicado por Jose Morales (16 intervenciones) el 05/09/2005 01:29:58
Hola, lo que pasa esque estoy aprendiendo Clases y pues estoy hacinedo una tarea lo que pasa esque no me funciona el programa como yo quiero, ya que tengo un problema con el STRCPY, no me funciona bien ahi un error en eso no se ke sea si alguien me puede ayudar, aqui les dejo el codigo, se supone que es un programa en el cual cre un array del tipo empleados y luego lo lleno, pero al llenarlo con los nombres de los empleados, y doy enter, me sale como si no hubiera introducido ninguna informacion, pero cuando Sustituyo la funcion STRCPY, por la de CIN, si me funciona pero ya solo capturaria un nombre, (algo ke no kiero, ya que quiero que capture todo el nombre de la persona y no solo su primer nombre)
#include <iostream.h>
#include <string.h>
class empleados{
public:
empleados(){numero=0;}
empleados(int n, char * name);
void capturar(void);
void ver(void){cout<<"Nombre: "<<nombre<<" #Empleado: "<<numero<<endl;}
private:
char nombre[40];
nt numero;
};
int main(){
int n;
empleados *p;
cout<<"Cuantos empleados? ";
cin>>n;
p=new empleados[n];
cout<<"Escribe sus datos ";
for(int i=0;i<n;i++)p[i].capturar();
for(i=0;i<n;i++)p[i].ver();
delete [] p;
return 0;
}
empleados::empleados(int n, char * name){
numero=n;
strcpy(nombre,name);
}
void empleados::capturar(void){
cin.getline(nombre,40);
cin>>numero;
}
#include <iostream.h>
#include <string.h>
class empleados{
public:
empleados(){numero=0;}
empleados(int n, char * name);
void capturar(void);
void ver(void){cout<<"Nombre: "<<nombre<<" #Empleado: "<<numero<<endl;}
private:
char nombre[40];
nt numero;
};
int main(){
int n;
empleados *p;
cout<<"Cuantos empleados? ";
cin>>n;
p=new empleados[n];
cout<<"Escribe sus datos ";
for(int i=0;i<n;i++)p[i].capturar();
for(i=0;i<n;i++)p[i].ver();
delete [] p;
return 0;
}
empleados::empleados(int n, char * name){
numero=n;
strcpy(nombre,name);
}
void empleados::capturar(void){
cin.getline(nombre,40);
cin>>numero;
}
Valora esta pregunta
0