Jump to content
Sign in to follow this  
juniorsouza

Escalonador de filas

Recommended Posts

juniorsouza

Iniciei um trabalho do curso onde devo implementar um sistema de fila de banco. No PDF foi dito que deveriam ser feitas 2 tipos de filas.

Uma fila chamada FIFO (first in first out) e outra fila escalonador.

A dinamica do trabalho seria:

Existem 5 tipos de clientes no banco: Diamante, platina,ouro, prata e bronze.

Sendo diamante o mais importante e bronze o menos.

As filas de clientes são formadas da seguinte forma:

Os clientes chega e ficam em fila unica, em ordem de chegada (Nessa parte eu introduzi todos eles na fila FIFO)

Após todos chegarem o banco fecha as portas e o escalonador começa a chamar as pessoas de acordo com uma disciplina de chamada.

Ex: disciplina 3,8,7,6,5.

Chama 3 Diamantes, 8 platinas,7 ouros, 6 pratas e 5 bronzes.

Porem, esse escalonador deve criar 5 filas antes dessa parte. E cada fila deve ser de uma classe, no caso diamante, platina,ouro, prata e bronze.

Minha duvida é a seguinte:

Criei a FIFO, tenho todos os clientes alocados nela (ordem de chegada)

Agora devo criar a escalonador. Onde essa deve conseguir criar 5 filas para dividir os clientes por classe.

MInha duvida é como criar essas filas de modo que possa passar e las para as funções da seguinte forma:

int consultar_prox_cliente(Escalonador *e)

E essa função consiga ver qualquer uma dessas filas.

Ou seja, ela possa me retornar quem é o prox cliente.

O que eu pensei foi em

typedef struct escal_{
     FIFO *Diamante;
     FIFO *Platina;
     FIFO *Ouro;
     FIFO *Prata;
     FIFO *Bronze;
}Escalonador;

Dai quando fosse pega um cliente da FIFO original e dividir nas 5 filas eu iria jogando dentro das FIFOs correspondentes

Porem não estou conseguindo inicializar as filas =/

Erro de segmentação :(

Edited by Rui Carlos
GeSHi

Share this post


Link to post
Share on other sites
HappyHippyHippo

este problema é resolvido com uma única fila

pensa bem como resolver dessa forma porque é o que é pedido no enunciado

Edited by HappyHippyHippo

IRC : sim, é algo que ainda existe >> #p@p

Share this post


Link to post
Share on other sites
juniorsouza

Consegui resolver o problema :P

Criei dessa mesma forma que está ai

typedef struct escal_{
  FIFO *Diamante;
  FIFO *Platina;
  FIFO *Ouro;
  FIFO *Prata;
  FIFO *Bronze;
}Escalonador;

e fiz a inserção com as funções que tinha criado para a FIFO ;)

Share this post


Link to post
Share on other sites

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 account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.