/* *********************************************************************** */ /* main.cpp 980910 */ /* Innehåller huvudprogram för köhantering */ /* *********************************************************************** */ /* Daniel Westerberg */ /* Christian Ohlsson */ /* Anna-Maria Haglund */ /* Ingela Johansson */ /* Charlotta Lagerkvist */ /* *********************************************************************** */ #include "lab1.hpp" /* *********************************************************************** */ /* Klassarray */ /* *********************************************************************** */ class queue q[K]; /* *********************************************************************** */ /* funktionsprototyper som denna fil innehåller */ /* *********************************************************************** */ void betala(int); void print(long); void addkund(void); /* *********************************************************************** */ /* main med huvud-loop och delay */ /* *********************************************************************** */ void main() { long clock=STARTTID; int kund=0; while(!kbhit()) { print(clock++); if (++kund == SPM) { addkund(); kund=0; } for(int x=0; x0) q[pos].r--; else q[pos].dequeue(); } /* *********************************************************************** */ /* addkund() */ /* lägger till en kund med ett slumpmässigt antal varor i den minsta kön */ /* INPUT: inget */ /* OUTPUT: inget */ /* *********************************************************************** */ void addkund() { int in, x, min, pos=0; unsigned int slumptal; srand((unsigned) time(NULL)); slumptal = rand()%CENT; if (slumptal < FALL1) in=0; else if (slumptal < FALL2) in=1; else if (slumptal < FALL3) in=2; else in=3; while(in) { min=q[0].warez(); for(x=1; xq[x].warez()) { min=q[x].warez(); pos=x; } q[pos].enqueue(rand()%MAV+1); in--; } }