1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88
|
lista armar_lista (){
lista z;
string line;
node temp;
z = lista();
ifstream myfile("malla.dat");
if (myfile.is_open())
{
while (! myfile.eof() )
{
getline (myfile,line);
temp = get_asignatura(line);
z.add(temp);
}
myfile.close();
}
else cout << "No se puede abrir el archivo";
return z;
}
node get_asignatura(string str){
node *z = new node;
z->codigo = convert(str.substr (0,str.find(",")));
str = trim(str.substr (str.find(",")+1));
z->nombre = str.substr (0,str.find(","));
str = trim(str.substr (str.find(",")+1));
z->creditos = convert(str.substr (0,str.find(",")));
str = trim(str.substr (str.find(",")+1));
z->semestre = convert(str.substr (0,str.find(",")));
str = trim(str.substr (str.find(",")+1));
z->licenciatura = convert(str.substr (0,str.find(",")));
str = trim(str.substr (str.find(",")+1));
if (str.find(",")==1){
z->especializacion = convert((str.substr (0,str.find(","))));
z->requisitos = trim(str.substr (str.find(",")+1));}
else{
z->especializacion = convert(str.substr (0));
z->requisitos = "";
}
return *z;
};
void lista::add(node x)
{
node *t;
if( final == NULL )
{
final = new node;
final->codigo = x.codigo;
final->nombre= x.nombre;
final->creditos= x.creditos;
final->semestre= x.semestre;
final->licenciatura= x.licenciatura;
final->especializacion=x.especializacion;
final->requisitos=x.requisitos;
final->nxt = NULL;
inicio = final;
}
else
{
t = new node;
t->codigo = x.codigo;
t->nombre= x.nombre;
t->creditos= x.creditos;
t->semestre= x.semestre;
t->licenciatura= x.licenciatura;
t->especializacion=x.especializacion;
t->requisitos=x.requisitos;
t->nxt = NULL;
final->nxt = t;
final = final->nxt;
}
|