AnaCal Posted December 8, 2011 at 05:25 PM Report #425369 Posted December 8, 2011 at 05:25 PM O programa que estou a tentar fazer com base em tempos random cria utilizadores e atribui aos mesmos um tempo de espera para depois leva los a caixa. Se o tempo random for 4, dai a 4 segundos ele cria um utilizador. Todas as instancias dos clientes estou a guarda las num vector dinamico. Este ciclo em baixo (um das ultimas tentativas) tenta ver se enquanto esta a decorrer o tempo de criaçao de um cliente, o tempo de espera de outro, anteriormente criado, acabou para coloca lo na caixa (metodo fimespera da classe Eventos) for(int i=0; i< vector_Clientes.size(); i++){ if(r_criacaocliente1 >= r_temporecolha){ aux_tempocriacao = r_criacaocliente1; // aux aux_tempocriacao -= r_tempoespera; Eventos::wait(r_tempoespera); Eventos::fimespera(); Eventos::wait(aux_tempocriacao); clientesquesairam++; break; }else if(r_criacaocliente1 < r_tempoespera){ Eventos::wait(r_criacaocliente1); //aux_tempoespera = r_tempoespera; aux_tempoespera -= r_criacaocliente1; Eventos::fimespera(); } } inst_cliente= new Cliente(); // Cria um cliente vector_Clientes.push_back(inst_cliente); // Guarda no vector dinamicamente sei que esta confuso e mal programado mas alguem me pode ajudar?
falk0n Posted January 17, 2012 at 03:59 PM Report #433050 Posted January 17, 2012 at 03:59 PM Por acaso tens o vector ordenado pelo menor tempo ? Se tiveres é só verificar qual o tempo do menor elemento. Podes criar uma thread para verificar qual o que tem menor tempo. Como não conheço essa parte de eventos que mostraste não tenho uma ideia correcta de como estás a controlar o fluxo de criação e de dispatch dos eventos. Boas programações
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now