All pastes #2122589 Raw Edit

Mine

public text v1 · immutable
#2122589 ·published 2012-02-29 01:21 UTC
rendered paste body
//209 main.cpp
//Haroon Jameel
//Homework 2A

#include <iostream>
#include <queue>
#include <assert.h>

using namespace std;

struct Customer{
	
    int arrival_time;
    int items;
    
    Customer(int a, int i)
    {
		arrival_time = a;
		items = i;
    }
};

class checkout{
    public:
        void depart();
        void arrive(Customer);
        bool empty() const;
        int next_departure() const;
    private:
        queue<Customer> que;
        int departure_time;
};

void checkout::arrive(Customer c){
    
    que.push(c);
    
    
    
    if(empty())
        departure_time = c.arrival_time + c.items;
        
}

void checkout::depart(){
    assert(!empty());
    Customer c = que.front();
    
    que.pop();
    if(!que.empty())
        departure_time += que.front().items;
}

int checkout::next_departure()const{
    assert(!empty());
    return departure_time;
}

bool checkout::empty()const{
    return que.empty();
}

int main()
{
	int arrive = 0;
	int items = 0;
	
	int depart = 0;
	checkout c;
	while (cin>>arrive>>items){

			Customer a(arrive,items); 
			
		cout << "A " << arrive << " " << items<< endl;
			
			c.arrive(a);
		
		while(!c.empty() && c.next_departure() <= arrive)
			
			cout << "D"<< c.next_departure() << endl;
				
			c.depart();
			
	
		
		}
		
		while(!c.empty())
			c.depart();

    return 0;
}

//414.85