include include include include quot simulation h quot include quot queueasarray h 5188298

#include
#include
#include

#include “Simulation.h”
#include “queueAsArray.h”

using namespace std;

//*************** customerType ************

void customerType::setCustomerInfo(int cN, int arrvTime,
int wTime, int tTime)
{
customerNumber = cN;
arrivalTime = arrvTime;
waitingTime = wTime;
transactionTime = tTime;
}

customerType::customerType(int customerN, int arrvTime,
int wTime, int tTime)
{
setCustomerInfo(customerN, arrvTime, wTime, tTime);
}

int customerType::getWaitingTime() const
{
return waitingTime;
}

void customerType::incrementWaitingTime()
{
waitingTime++;
}

void customerType::setWaitingTime(int time)
{
cout
}

int customerType::getArrivalTime() const
{
cout
return 0;
}

int customerType::getTransactionTime() const
{
cout
return 0;
}

int customerType::getCustomerNumber() const
{
cout
return 0;
}
//**************** serverType **********

serverType::serverType()
{
status = “free”;
transactionTime = 0;
}

bool serverType::isFree() const
{
return (status == “free”);
}

void serverType::setBusy()
{
status = “busy”;
}

void serverType::setFree()
{
status = “free”;
}

void serverType::setTransactionTime(int t)
{
transactionTime = t;
}

void serverType::setTransactionTime()
{
int time;

time = currentCustomer.getTransactionTime();

transactionTime = time;
}

void serverType::decreaseTransactionTime()
{
transactionTime–;
}

int serverType::getRemainingTransactionTime() const
{
cout
return 0;
}

void serverType::setCurrentCustomer(customerType cCustomer)
{
cout
}

int serverType::getCurrentCustomerNumber() const
{
cout
return 0;
}

int serverType::getCurrentCustomerArrivalTime() const
{
cout
return 0;
}

int serverType::getCurrentCustomerWaitingTime() const
{
cout
return 0;
}

int serverType::getCurrentCustomerTransactionTime() const
{
cout
return 0;
}

//************** serverListType ***********

serverListType::serverListType(int num)
{
numOfServers = num;
servers = new serverType[num];
}

serverListType::~serverListType()
{
delete [] servers;
}

int serverListType::getFreeServerID() const
{
int serverID = -1;

for (int i = 0; i
if (servers[i].isFree())
{
serverID = i;
break;
}

return serverID;
}

int serverListType::getNumberOfBusyServers() const
{
int busyServers = 0;

for (int i = 0; i
if (!servers[i].isFree())
busyServers++;

return busyServers;
}

void serverListType::setServerBusy(int serverID,
customerType cCustomer,
int tTime)
{
servers[serverID].setBusy();
servers[serverID].setTransactionTime(tTime);
servers[serverID].setCurrentCustomer(cCustomer);
}

void serverListType::setServerBusy(int serverID,
customerType cCustomer)
{
int time;

time = cCustomer.getTransactionTime();

servers[serverID].setBusy();
servers[serverID].setTransactionTime(time);
servers[serverID].setCurrentCustomer(cCustomer);
}

void serverListType::updateServers(ostream& outF)
{
for (int i = 0; i
if (!servers[i].isFree())
{
servers[i].decreaseTransactionTime();

if (servers[i].getRemainingTransactionTime() == 0)
{
outF

+ servers[i].getCurrentCustomerWaitingTime()
+ servers[i].getCurrentCustomerTransactionTime()

servers[i].setFree();
}
}
}

//*************** waitQueue ************

waitingCustomerQueueType::waitingCustomerQueueType(int size)
:queueType(size)
{
}

void waitingCustomerQueueType::updateWaitingQueue()
{
customerType cust;

cust.setWaitingTime(-1);
int wTime = 0;
  
   addQueue(cust);

while (wTime != -1)
{
cust = front();
deleteQueue();

wTime = cust.getWaitingTime();
if (wTime == -1)
break;
cust.incrementWaitingTime();
addQueue(cust);
   }
}

a. Write the definitions ofthe functions setWaitingTime, getArrivalTime, getTransactionTime,and getCustomerNumber of the class customerType defined in the section, ‘‘Application of Queues: Simulation.’’
b. Write the definitions of the functions getRemainingTransactionTime, setCurrentCustomer, getCurrentCustomerNumber, getCurrentCustomerArrivalTime, getCurrentCustomerWaitingTime,and getCurrentCustomerTransactionTime of the class serverType defined in the section, ‘‘Application of Queues: Simulation.’’
c. Write the definition of the function runSimulation to complete the design of the computer simulation program (see the section, ‘‘Application of Queues: Simulation’’). Test run your program for a variety of data. Moreover, use a random number generator to decide whether a customer arrived at a given time unit.

"Get 15% discount on your first 3 orders with us"
Use the following coupon
FIRST15

Order Now