16/04/2010, 12:45
|
| | | 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();
} |