My program is to print the queue of information from a file but i have problem with my following code. When i run the program it keep loop. I cant figure out the problem. Any help?
#include <iostream>
#include <fstream>
#include <string>
#include <iomanip>
#include <queue>
#include <list>
using namespace std;
void simulation(ifstream &infile);
void processArrival(int *newEvent, ifstream &inFile, list<int> eventList,queue<int> printQueue);
void processDeparture(int *newEvent, list<int> eventList,queue<int> printQueue);
    string name[100];
    int timeAccepted[100];
    int fileSize[100];
    int i = 1;
    int j = 1;
int currentTime;
bool checker = true;
int main(void)
{
    ifstream inFile;
    string fileName;
    int i = 0;
    inFile.open("123.txt", ios::in);
    simulation(inFile);
    /*while(inFile.peek() != EOF )
    {
        inFile>>name[i]>>timeAccepted[i]>>fileSize[i];
        i++;
    }
    for(int s = 0; s < i; s++)
    {
        cout << name[s] << timeAccepted[s] <<  fileSize[s] <<endl;
    }*/
    return 0;
}
void simulation(ifstream &inFile)
{
    queue<int> printQueue;
    list<int> eventList;
    int *newEvent;
    while(inFile.peek() != '\n')
    {
        inFile>>name[0]>>timeAccepted[0]>>fileSize[0];
    }
    eventList.push_front(timeAccepted[0]);
    int checkEmpty = eventList.empty();
    newEvent = &eventList.front();
    while(checkEmpty ==0)
    {
         newEvent = &eventList.front();
        if(checker)
        {
            processArrival(newEvent, inFile, eventList, printQueue);
        }
        else
        {
            processDeparture(newEvent, eventList, printQueue);
        }
        checkEmpty = eventList.empty();
    }
}
void processArrival(int *newEvent, ifstream &inFile, list<int> eventList,queue<int> printQueue)
{
    int atFront=0;
    atFront = printQueue.empty();
    cout << atFront <<endl;
    printQueue.push(*newEvent);
    cout << printQueue.front() <<endl;
    eventList.remove(*newEvent);
    int temp;
    if(atFront==1)
    {
        currentTime = *newEvent + fileSize[0];
        cout << name[0] << " @@ " << *newEvent << " @@ " << currentTime << endl;
        eventList.push_back(currentTime);
    }
    checker = false;
    if(inFile.peek() != EOF )
    {
        inFile>>name[i]>>timeAccepted[i]>>fileSize[i];
        eventList.push_back( timeAccepted[i] );
        i++;
        checker = false;
        if(eventList.back() <= eventList.front())
        {
            temp = eventList.back();
            eventList.back() = eventList.front();
            eventList.front() = temp;
            checker = true;
        }
    }
}
void processDeparture(int *newEvent, list<int> eventList,queue<int> printQueue)
{
    printQueue.pop();
    eventList.pop_front();
    int checkEmpty = 1;
    checkEmpty = printQueue.empty();
    int temp;
    if(checkEmpty ==0)
    {
        currentTime = *newEvent + fileSize[j];
        cout << name[j] << " " << *newEvent << " " << currentTime << endl;
        eventList.push_back(currentTime);
        checker = true;
        if(eventList.back() < eventList.front())
        {
            temp = eventList.back();
            eventList.back() = eventList.front();
            eventList.front() = temp;
            checker = false;
        }
        j++;
    }
}