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
#include <iostream> #include <cstdio> #include "Empleados.h" #include "Empleados.h" #include "Interfaz.h" #include "Nodo.h" using namespace std; int main() { Nodo *Cabeza; Cabeza = new Nodo; FILE *Archivo1; Archivo1 = fopen("Empleados.txt","r+"); if(Archivo1==NULL){ cout<<"No se pudo abrir el archivo."; return 0; } Nodo *Ant; Nodo *Aux; Aux = Cabeza; int Contador = 1; while(feof(Archivo1)==0){ if(Aux->getActual()==NULL){ Empleados *NuevaLista; NuevaLista = new Empleados(); Aux->setActual(NuevaLista); } for(int i=0;i<15&&feof(Archivo1)==0;i++){ char Caracter; for(int j=0;j<150;j++){ Caracter = fgetc(Archivo1); Aux->getActual()->setMatrizE(i, j, Caracter); if(Caracter=='@')j=200; Contador++; } Aux->getActual()->setPosE(i, Contador); } Aux->setAnt(Ant); Nodo *Nuevo; Nuevo = new Nodo(); Aux->setSig(Nuevo); Ant= Aux; Aux = Aux->getSig(); } fclose(Archivo1); return 0; }
Tambien se usan estas dos clases:
Código
class Empleados { public: Empleados(); virtual ~Empleados(); //Gets y Sets void setMatrizE(int y, int x, char a); char getMatrizE(int y, int x); void setPosE(int x, int dato); int getPosE(int x); //Metodos void Eliminar(int y, int x); bool Buscar(char x[9]); int Buscar2(char x[9]); void ModificarCed(int y, char z[9]); void ModificarNom(int y,char z[50]); void ModificarCargo(int y, char z[50]); void Insertar(char x[150]); protected: private: char MatrizE[15][150]; int PosE[15]; }; class Nodo { public: Nodo(); virtual ~Nodo(); void AgregarNodo(Nodo *c, Empleados *Nuevo); void setSig(Nodo *EmpleadosSig); void setAnt(Nodo *EmpleadosAnt); Nodo *getSig(); Nodo *getAnt(); Empleados *getActual(); void setActual(Empleados *EmpleadoActual); protected: private: Empleados *Actual; Nodo *Sig; Nodo *Ant; };