Título: PROBLEMAS CON LA IMPRESIÓN DE FICHEROS Publicado por: adrisc en 19 Diciembre 2012, 16:28 pm Buenos dias,
En un proyecto de la universidad donde se debe imprimir una lista con todas las asignaturas almacenadas en un fichero, el programa solo me imprime la primera y no sigue imprimiendo el resto. No sé a que es debido. Os pongo el codigo:: Codigo desde donde se llama a la función de imprimir /** *Imprimirá el listado de todas las asignaturas */ void imprimirAsignaturas(){ vector <Asignatura> asignaturas = persistencia.getAsignaturas(); for (int i=0;i<asignaturas.size();i++) { asignaturas.print(); } } Codigo de persistencia.GetAsignaturas /** * Obtiene todos las asignaturas almacenados en la base de datos. * Si no encuentra asignaturas devuelve una lista vacia. */ vector<Asignatura> Persistencia::getAsignaturas() { string linea; ifstream infile; // Abrir y recorrer el fichero para obtener los datos infile.open("asignaturas"); vector<Asignatura> asignaturas; int i = 0; while (!infile.eof()) { Asignatura asignatura; getline(infile, linea); if (linea.length() > 0) { vector<string> atributos; atributos = split(linea, "###"); int referencia; referencia = atoi(atributos[0].c_str()); asignatura.setReferencia(referencia); asignatura.setNombre(atributos[1].c_str()); int aforo; aforo = atoi(atributos[2].c_str()); asignatura.setAforo(aforo); int AlumnosMatriculados; AlumnosMatriculados = atoi(atributos[3].c_str()); asignatura.setAlumnosMatriculados(AlumnosMatriculados); int curso; curso = atoi(atributos[4].c_str()); asignatura.setCurso(curso); int creditos; creditos = atoi(atributos[5].c_str()); asignatura.setCreditos(creditos); // Se inserta cada uno de los ejemplares en la lista. asignaturas.push_back(asignatura); } i++; infile.close(); return asignaturas; } } Gracias por la ayuda, espero su respuesta Un saludo |