Foros del Web » Programación para mayores de 30 ;) » C/C++ »

guardar archivo.txt

Estas en el tema de guardar archivo.txt en el foro de C/C++ en Foros del Web. hola amigos, bueno aqui aprendiendo C++, tengo lios al manejar la herencia... aqui les va mi duda. Código: #include <iostream.h> #include <conio.h> #include <fstream.h> #include ...
  #1 (permalink)  
Antiguo 15/04/2010, 12:58
 
Fecha de Ingreso: abril-2010
Mensajes: 8
Antigüedad: 14 años
Puntos: 0
guardar archivo.txt

hola amigos, bueno aqui aprendiendo C++, tengo lios al manejar la herencia... aqui les va mi duda.
Código:
 #include <iostream.h>
#include <conio.h>
#include <fstream.h>
#include <iomanip.h>                 

   class Persona
   {
     public:
        Persona(int cod, char *nom);
        void mostrar();
     private:
        int codigo;
        char nombre[20];
   };

   class Alumno:public Persona
   {
     public:
       Alumno(int cod, char *nom, int not);
       void mostrarDatos();
       void guardar();
     private:
       int nota;
   };

   Persona ::Persona(int cod, char *nom)
   {codigo =cod;
     strcpy(nombre, nom);}
   Alumno::Alumno (int cod, char *nom, int not):Persona (cod, nom)
   { nota=not; }
   void Alumno::mostrarDatos()
   {
     Persona::mostrar();
     cout<<"nota: "<<nota<<endl;
   }
   void Persona::mostrar()
   {
     cout<<"Nombre: "<<nombre<<endl;
     cout<<"Codigo: "<<codigo<<endl;
   }

   void Alumno::guardar()
   {



    }
    int main()
  {
     Alumno *objeto[3];
     objeto[0] = new Alumno(001,"carlos",15);
     objeto[1] = new Alumno(002,"manuel",10);
     objeto[2] = new Alumno(003,"ricardol",10);

     getch();
   }
Aqui va mi pregunta como implementar el metodo void Alumno::guardar, para q los datos de alumno sea guardado en un archivo txt.

Gracias
  #2 (permalink)  
Antiguo 16/04/2010, 12:45
Avatar de gvite666  
Fecha de Ingreso: abril-2010
Mensajes: 65
Antigüedad: 14 años
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();
}
  #3 (permalink)  
Antiguo 17/04/2010, 15:15
 
Fecha de Ingreso: abril-2010
Mensajes: 83
Antigüedad: 14 años
Puntos: 1
Respuesta: guardar archivo.txt

si queres guardar el contenido de un texto box en un txt podes usar Rich Text Box

Etiquetas: Ninguno
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 12:58.