}
Cliente* Evento::gerarClientesAleatorio(int tempoTotalSimulacao,
int tempoMediaChegadClientes) {
//suponha tempoMediaChegadClientes =10(segundos)
Cliente* cliente;
//se o tempo de simulacao é 30minutos->1800segundos->1800/10(10segundos a cada novo cliente, ou seja 180 clientes serão gerados)????
for (int i = 0; i < tempoTotalSimulacao / tempoMediaChegadClientes; i++) {
//cada "10segundos" gera um novo cliente
for (int i = 0; i < tempoMediaChegadClientes; i++) {
//"aguarda" o tempo de chega de novos clientes????
}
return new Cliente();;
}
return NULL;
}
Eu sei que o return interrompe a execucao e que este método esta errado só tentei expressar meu pensamento, tentarei resolver isso, mas o PROBLEMA maior não é isso, seria esse meu controle, pois veja bem os clientes são gerados até o ultimo "segundo" de execucao do programa, e a maneira que eu estou fazendo isso não está certo pois eu estou apenas fazendo um cálculo e vendo quantos clientes entrariam naquele determinado tempo. Vou ser sincero estou numa confusão mental, e tenho quase certeza que não é para utilizar threads. Mas preciso de uma direção pois nunca fiz uma simulacao e estou quebrando a cabeca com esse controle de "evento". Vou resumir como seria meu projeto, cada intervalo de tempo X, chegam novos clientes, automaticamente é feito um random para cada cliente referente a qtProdutos que ele vai comprar e automaticamente ele "ira" buscar a menor fila existente(há outras regras de negocio etc). E isso se repetirá até acabar o tempo total de simulacao definido pelo usuario. Gostaria se possível de dicas de como controlar esses eventos, se possível exemplos de uma situacao em que um metodo(geraClientes) seria chamado a cada intervalo de tempo X , enquanto os outros clientes(ou qq outro objeto) estariam executando acoes dentro do supermercado.
Grato, qualquer ajuda é válida
Att.