Sửa giúp code mô phỏng tiến trình

class TIENTRINH
{
	private:
		int stt;
		int t_den;
		int t_xuly;
		int t_cho;
		int finish;
	public:
		TIENTRINH();
		TIENTRINH(int stt,int t_den,int t_xuly);
		void  insert(int stt,int t_den,int t_xuly);
		int   getT_DEN();
		void  setT_DEN(int a);

		int   getT_XULY();
		void  setT_XULY(int a);

		int   getT_CHO();
		void  setT_CHO(int a);

		int   getFINISH();
		void  setFINISH(int a);

		int   getSTT();
};
struct DS
    {
	int id;
	DS *next;
    };
typedef DS* list;
struct Input
    {
	int den,xuly;
	Input *next;
    };
typedef Input* IN;
void FIFO()
{
  int time=0,ok=1,i,j=0,ID;
  while(ok)
      {
	  ID=-1;
	  PrintRL(ready,time);
	  listBox2->Items->Add("------------------");
	  for(i=0;i<quantum;i++)
	     {
		      // nap readylist luc bat dau
		 if(tt[j].getT_DEN()==time && j<n )
		     {  them(j);
			j++;
			listBox2->Items->Add("Time = "+time.ToString()+" : Nap tien trinh : "+(tt[j-1].getSTT()).ToString());
		     }
		      // nen ton tai tt trong readylist thi lam,ko thi thoat quantum
		 if(ready)
		   {
			ID=(*ready).id;
			listBox2->Items->Add("Time = "+time.ToString()+" : xu ly tien trinh : "+(tt[ID].getSTT()).ToString());
			if(tt[ID].getT_XULY()>0)
			    {
				// tang thoi gian cho cua cac tt trong ready
				tangT_CHO(ready,ID);
				tt[ID].setT_XULY(tt[ID].getT_XULY() - 1);
				if(tt[ID].getT_XULY()==0)    xoa();

			    }
			time++;
			if(tt[ID].getT_XULY()==0)
			   {	tt[ID].setFINISH(time);
			    listBox2->Items->Add("Time = "+time.ToString()+" : hoan thanh tien trinh : "+(tt[ID].getSTT()).ToString());
				break;
			   }
		   }
		 else
		   {
		       tangT_CHO(ready,-1);
		       time++;
		       break;
		   }
	     }
	  listBox2->Items->Add("-------Hoan thanh chu ky-------");
	  listBox2->Items->Add("------------------");
	  if(checkFinish())  ok=0;
      }
    TIME=time
}
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?