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

 

 


Tema destacado: Arreglado, de nuevo, el registro del warzone (wargame) de EHN


  Mostrar Mensajes
Páginas: [1]
1  Programación / Programación C/C++ / Re: Manejo de listas y punteros en: 16 Septiembre 2016, 07:18 am
Comprendo lo que me tratas de explicar.
Primero y en parte es mi error es que me faltó mencionar que las clases que compartí son de un .h, su diseño está en otro archivo .cpp.
Lo que intentó hacer es cargar en una matriz los datos de 3000 empleados que están en un archivo .txt y se separan de si con un "@". En resumen lo que quiero es cargar 15 empleados en una matriz por lista enlazada.
Para lograrlo diseñé ese algoritmo que está en el main, sin embargo se cae al correrlo.
2  Programación / Programación C/C++ / Manejo de listas y punteros en: 16 Septiembre 2016, 05:00 am
Hola, tengo un problema al correr mi programa, se cae al correrlo, ya llevo algunas horas buscando el problema, como soy estudiante aun me cuesta un poco, agradeceria la ayuda.
El codigo debe de ingresar lo datos de un archivo .txt en una lista enlazada (Todos los datos), aca abajo dejo el codigo.

Código
  1. #include <iostream>
  2. #include <cstdio>
  3. #include "Empleados.h"
  4. #include "Empleados.h"
  5. #include "Interfaz.h"
  6. #include "Nodo.h"
  7. using namespace std;
  8.  
  9. int main()
  10. {
  11.    Nodo *Cabeza;
  12.    Cabeza = new Nodo;
  13.    FILE *Archivo1;
  14.    Archivo1 = fopen("Empleados.txt","r+");
  15.    if(Archivo1==NULL){
  16.        cout<<"No se pudo abrir el archivo.";
  17.        return 0;
  18.    }
  19.    Nodo *Ant;
  20.    Nodo *Aux;
  21.    Aux = Cabeza;
  22.    int Contador = 1;
  23.    while(feof(Archivo1)==0){
  24.            if(Aux->getActual()==NULL){
  25.                Empleados *NuevaLista;
  26.                NuevaLista = new Empleados();
  27.                Aux->setActual(NuevaLista);
  28.            }
  29.            for(int i=0;i<15&&feof(Archivo1)==0;i++){
  30.                char Caracter;
  31.                for(int j=0;j<150;j++){
  32.                    Caracter = fgetc(Archivo1);
  33.                    Aux->getActual()->setMatrizE(i, j, Caracter);
  34.                    if(Caracter=='@')j=200;
  35.                    Contador++;
  36.                }
  37.                Aux->getActual()->setPosE(i, Contador);
  38.            }
  39.            Aux->setAnt(Ant);
  40.            Nodo *Nuevo;
  41.            Nuevo = new Nodo();
  42.            Aux->setSig(Nuevo);
  43.            Ant= Aux;
  44.            Aux = Aux->getSig();
  45.    }
  46.    fclose(Archivo1);
  47.    return 0;
  48. }
  49.  
  50.  


Tambien se usan estas dos clases:

Código
  1. class Empleados
  2. {
  3.    public:
  4.        Empleados();
  5.        virtual ~Empleados();
  6.  
  7.        //Gets y Sets
  8.        void setMatrizE(int y, int x, char a);
  9.        char getMatrizE(int y, int x);
  10.        void setPosE(int x, int dato);
  11.        int getPosE(int x);
  12.  
  13.        //Metodos
  14.        void Eliminar(int y, int x);
  15.        bool Buscar(char x[9]);
  16.        int Buscar2(char x[9]);
  17.        void ModificarCed(int y, char z[9]);
  18.        void ModificarNom(int y,char z[50]);
  19.        void ModificarCargo(int y, char z[50]);
  20.        void Insertar(char x[150]);
  21.  
  22.  
  23.    protected:
  24.  
  25.    private:
  26.        char MatrizE[15][150];
  27.        int PosE[15];
  28. };
  29.  
  30.  
  31.  
  32.  
  33.  
  34. class Nodo
  35. {
  36.    public:
  37.        Nodo();
  38.        virtual ~Nodo();
  39.        void AgregarNodo(Nodo *c, Empleados *Nuevo);
  40.        void setSig(Nodo *EmpleadosSig);
  41.        void setAnt(Nodo *EmpleadosAnt);
  42.        Nodo *getSig();
  43.        Nodo *getAnt();
  44.        Empleados *getActual();
  45.        void setActual(Empleados *EmpleadoActual);
  46.  
  47.  
  48.    protected:
  49.  
  50.    private:
  51.        Empleados *Actual;
  52.        Nodo *Sig;
  53.        Nodo *Ant;
  54. };
  55.  
Páginas: [1]
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines