All pastes #251425 Raw Edit

Miscellany

public cpp v1 · immutable
#251425 ·published 2006-11-18 03:47 UTC
rendered paste body
void 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 == ')');}