• • • • • • • • • • • • •
//功能实现子函数 Status OrderInser(EventList &ev, QCuEvent en) { EventList entemp,qtemp; entemp = (EventList) malloc(sizeof(QCuEvent)); entemp->OccurTime = en.OccurTime; entemp->NType = en.NType; entemp->next = NULL; if (!ev->next) { ev->next = entemp; return OK; }
• • • • • • • • • • • • • • • • • • •
//主函数 void main() { EventList ev; // 事件表 QCuEvent en; QCupp QCu = NULL; OpenForDay(ev, en, QCu); while (ev->next) { en.NType = ev->next->NType; en.OccurTime = ev->next->OccurTime; DelFirstEvent(ev); if (en.NType == 0) CustomerArrived(ev, QCu, en); else CustomerDeparture(ev, QCu, en); Ptint_QStatus(QCu); } CloseForDay(); }
typedef struct QCuEvent { int OccurTime; int NType; struct QCuEvent *next; }QCuEvent, *EventList; typedef struct QCuElem { int ArrivalTime; int Duration; struct QCuElem *next; }QCuElem,*QEptr;