rendered paste bodyvoid Teatro :: cargar (std::istream & is) { char buf; // nimiedades buf = is.get(); assert(buf == '('); buf = is.get(); //cout<<buf<<"aca debe haber solo una t"; assert(buf == 'T'); buf = is.get(); //cout<<"holaaa"<<buf<<"cocaacaca"; assert(buf == ' '); // leo la lista de salas Lista<Sala> buf_salas; buf = is.get(); assert(buf == '['); bool seguir = true; while(seguir) { char p = is.peek(); if(p == ']') { buf = is.get(); seguir = false; } else if(p == ',') { buf = is.get(); } else { Sala s; s.cargar(is); buf_salas.agregarAtras(s); } } sals = buf_salas; // nimiedades buf = is.get(); assert(buf == ' '); // leo las listas del elenco estable y sus sueldos buf = is.get(); assert(buf == '['); Lista<std :: string> buf_elenco; Lista<int> buf_sueldos; seguir = true; while(seguir) { string temp_actor = ""; int temp_sueldo; buf = is.get(); if (buf == ']') { seguir = false; } else { // leo el nombre del actor while(buf != ',') { temp_actor += buf; buf = is.get(); } // leo su sueldo (un int) is >> temp_sueldo; // los cargo buf_elenco.agregarAtras(temp_actor); buf_sueldos.agregarAtras(temp_sueldo); // si lo que sigue es una coma, la saco char p = is.peek(); if (p == ',') { buf = is.get(); } } } elenco = buf_elenco; sueldos = buf_sueldos; // nimiedades buf = is.get(); assert(buf == ' '); // leo la lista de funciones Lista<Funcion> buf_funciones; buf = is.get(); assert(buf == '['); seguir = true; while(seguir) { char p = is.peek(); if(p == ']') { buf = is.get(); seguir = false; } else if (p == ','){ buf = is.get(); } else { Funcion f; f.cargar(is); buf_funciones.agregarAtras(f); } } funcs = buf_funciones; // nimiedades buf = is.get(); assert(buf == ' '); // leo la lista de entradas vendidas Lista<Entrada> buf_entradas; buf = is.get(); assert(buf == '['); seguir = true; while(seguir) { char p = is.peek(); if(p == ']') { buf = is.get(); seguir = false; } else if (p == ',') { buf = is.get(); } else { Entrada e; e.cargar(is); buf_entradas.agregarAtras(e); } } entradas = buf_entradas; // nimiedades buf = is.get(); assert(buf == ')');}