Ver Mensaje Individual
  #2 (permalink)  
Antiguo 16/04/2010, 12:45
Avatar de gvite666
gvite666
 
Fecha de Ingreso: abril-2010
Mensajes: 65
Antigüedad: 14 años, 8 meses
Puntos: 4
Respuesta: guardar archivo.txt

pues mira en este caso tu creas tres objetos, los cuales tienen que acceder a un mismo archivo, entonces todos tienen que tener el mismo nombre del archivo, para esto al metodo de "guardar" le tenemos que pasar como parametro ese nombre y ahora si se puede abrir y cerrar ese archivo a tu antojo.
antes de esto tienes que poner los atributos de la clase "Persona" como "protected" para que como clase hijas tengan acceso a ellas, asi el metodo "guardar" queda asi:

void Alumno::guardar(char *dir)//recibimos el nombre del archivo
{
strcpy(this->m_Dir,dir);//lo copiamos a su respectivo atrivuto
fstream ofArchivo;//creamos un objeto de tipo archivo

ofArchivo.open(m_Dir,ios::out|ios::ate);//abrimos el archivo con ios::out lo creamos y con ios::ate le indicamos que bamos a escribir al final del archivo.
if(ofArchivo.good())//preguntamos si fue posible abrirlo
{

ofArchivo<<m_codigo<<endl;//le ingresamos lo datos correspondientes
ofArchivo<<this->m_nombre<<endl;
ofArchivo<<this->nota<<endl;
ofArchivo.close();//cerramos el archivo
}
else
cout<<"Ocurrio un error en la apertura del archivo";
}

y la funcion main, asi:

void main(void)
{
Alumno *objeto[3];
char NomDir[30]="Archivo.txt";//nombre del archivo que se quiere utilizar
objeto[0] = new Alumno(001,"carlos",05);
objeto[1] = new Alumno(002,"manuel",10);
objeto[2] = new Alumno(003,"ricardol",10);

objeto[0]->mostrarDatos();//imprimimos los datos en pantalla del primer alumno
objeto[0]->guardar(NomDir);//imprimimos en el archivo
objeto[1]->mostrarDatos();
objeto[1]->guardar(NomDir);
objeto[2]->mostrarDatos();
objeto[2]->guardar(NomDir);
getch();
}