elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Usando Git para manipular el directorio de trabajo, el índice y commits (segunda parte)


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Problema con Stack con template y objetos
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Problema con Stack con template y objetos  (Leído 2,036 veces)
acer-x

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Problema con Stack con template y objetos
« en: 23 Junio 2019, 02:35 am »

Hola, tengo un problema, este es el codigo
Código:
#include <cstdlib>
#include <iostream>
#include <stack>
#include <fstream>
#include <stdlib.h>
#include <string.h>
#include "persona.h"

using namespace std;

void extraerarchivo(stack <persona> X)
{
    string nombre,rut,sexo,domicilio,circunscripcion,mesa;
    ifstream archivo;

    archivo.open("entrada.csv",ios::in);//Abrimos el archivo en el modo lectura

    if(archivo.fail())
    {
        cout<<"ERROR: No se pudo abrir el archivo."<<endl;
        exit(1);
    }

    while(!archivo.eof())
    {
        persona a;
        getline(archivo,nombre,';');
        a.Setnombre(nombre);

        getline(archivo,rut,';');
        a.Setrut(rut);

        getline(archivo,sexo,';');
        a.Setsexo(sexo);

        getline(archivo,domicilio,';');
        a.Setdomicilio(domicilio);

        getline(archivo,circunscripcion,';');
        a.Setcircunscripcion(circunscripcion);

        getline(archivo,mesa,';');
        a.Setmesa(mesa);


        X.push(a);
    }



    archivo.close();

}


int main()
{
    stack <persona> X;
    extraerarchivo(X);

    persona x=X.top();

    cout<<x.Getnombre()<<endl;
    cout<<x.Getrut()<<endl;
    cout<<x.Getsexo()<<endl;
    cout<<x.Getdomicilio()<<endl;
    cout<<x.Getcircunscripcion()<<endl;
    cout<<x.Getmesa()<<endl;



    return 0;
}


se supone que estoy leyendo los datos del archivo.csv y los guardo en el objeto persona y despues lo paso al stack, pero al momento de imprimer no me sale nada, solo los saltos de linea, que error puede haber ?

gracias


En línea

Loretz

Desconectado Desconectado

Mensajes: 117


Ver Perfil
Re: Problema con Stack con template y objetos
« Respuesta #1 en: 23 Junio 2019, 03:07 am »

Código:
void extraerarchivo(stack <persona> X)

Estás pasando una copia de stack<persona>  X, que al salir de la función se destruirá. Si necesitas modificar una stack<persona> ya creada puedes pasar una referencia (o un puntero) o, mejor, la función extrerarchivo puede devolver una stack<persona>. y usar así:

Código:
stack<persona> extraerarchivo();

...

Código:
stack <persona> X = extraerarchivo();

supongo que hasta sería mejor si a la función eztraerarchivo le pasas también el iftream de dónde leer los datos, pero eso ya es otra cirugía.




En línea

acer-x

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Problema con Stack con template y objetos
« Respuesta #2 en: 23 Junio 2019, 13:09 pm »

Código:
void extraerarchivo(stack <persona> X)

Estás pasando una copia de stack<persona>  X, que al salir de la función se destruirá. Si necesitas modificar una stack<persona> ya creada puedes pasar una referencia (o un puntero) o, mejor, la función extrerarchivo puede devolver una stack<persona>. y usar así:

Código:
stack<persona> extraerarchivo();

...

Código:
stack <persona> X = extraerarchivo();

supongo que hasta sería mejor si a la función eztraerarchivo le pasas también el iftream de dónde leer los datos, pero eso ya es otra cirugía.



Muchas gracias! al final lo he puesto por referencia como has dicho, pero me seguia tirando el mismo problema,
he estado toda la noche probando e investigando hasta que encontre la solucion, y era que habia hecho un constructor copia en la clase persona  que no me daba ningun valor, asi que solo lo borre y ya.

muchas gracias por responder se agradece.

Saludoooos!!
« Última modificación: 23 Junio 2019, 13:11 pm por acer-x » En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
[Duda C#] Problema con visivilidad de objetos
.NET (C#, VB.NET, ASP)
~~ 2 3,269 Último mensaje 8 Octubre 2007, 14:01 pm
por ~~
Problema con objetos.
Java
ThePinkPanther 4 2,830 Último mensaje 15 Marzo 2014, 22:28 pm
por ThePinkPanther
Implementar Stack Trace (Walk through stack)
ASM
kub0x 5 3,978 Último mensaje 16 Marzo 2014, 19:21 pm
por Arkangel_0x7C5
Problema con Pila (Stack), Hilos (Thread) y Lista números (Array)
Java
S_Code 1 2,656 Último mensaje 27 Mayo 2016, 12:19 pm
por S_Code
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines