Fila - caixa

347 palavras 2 páginas
#include
#include

#define NUM_CAB 3
#define MAX(x,y) (((x) > (y))? (x) : (y))//MAX define uma expressao se x > que y então x, senão y.

typedef struct fila
{
int numero; int t2; int tsaida; struct fila *prox; struct fila *prev;
} fila;

int t1, t3, NumCliente; float TamMedio; //tamanho médio da fila. fila *Inic[NUM_CAB],*Fim[NUM_CAB];

int random(int n)
{
return rand() % n;
}

void tempo_de_espera(int n)
{

if (Inic[n] == NULL) t3 = 0; else t3 = 1 + random(10); }
//cliente entra na fila void entrar_na_fila(int n)
{
fila *p;

NumCliente++; p = (fila *)calloc(1,sizeof(fila));

p->numero = NumCliente; p->t2 = 3 + random(6);

if (Inic[n] == NULL) Inic[n] = p; if (Fim[n] != NULL) Fim[n]->prox = p; p->prev = Fim[n]; p->prox = NULL; Fim[n] = p;

// Calculo do tempo de saida if (p->prev != NULL) p->tsaida = MAX(t1,p->prev->tsaida) + p->t2; else p->tsaida = t1 + p->t2 + t3;
}
//cliente sai da fila void sair_da_fila(int n)
{
Inic[n] = Inic[n]->prox;
}

int tamanho_fila(int n)
{
int t; fila *p; t = 0; p = Inic[n]; while (p != NULL) { t++; p = p->prox; } return t;
}

int menor_fila()
{
int i,t,nfila,tfila; nfila = 0; tfila = tamanho_fila(0); for (i = 1; i < NUM_CAB; i++) { t = tamanho_fila(i); if (t < tfila) { nfila = i; tfila = t; } } return nfila;
}

void simular(int minutos)
{
int i,nf,linha,chegada; chegada = 0;

printf("+-------+---------+------+--------+--------+-------+\n"); printf("| Tempo | Cliente | Fila | Espera | Atend. | Saida |\n"); printf("+-------+---------+------+--------+--------+-------+\n");

for (t1 = 1; t1 t2,Fim[nf]->tsaida); linha = 1; chegada = 0; } if (linha == 0) printf("| | | |

Relacionados

  • Trabalho Prático sobre Estrutura de Dados - Exercício de Filas
    1466 palavras | 6 páginas
  • DESIGN THINKING – FILA SUPERMERCADOS BH
    9287 palavras | 38 páginas
  • Trabalho final de processos estocásticos
    916 palavras | 4 páginas
  • tcc sobre teoria de filas
    6293 palavras | 26 páginas
  • teoria
    2121 palavras | 9 páginas
  • Resumo do artigo de PO
    1560 palavras | 7 páginas
  • Marketing de Relacionamento
    3599 palavras | 15 páginas
  • Teoria das Filas
    5412 palavras | 22 páginas
  • Modelagem
    4907 palavras | 20 páginas
  • Simulador Arena - Caso lotérica
    3817 palavras | 16 páginas