银行业务模拟 离散事件模拟 数据结构 严蔚敏 代码 程序 直接运行
时间:2026-01-18
时间:2026-01-18
银行业务模拟 离散事件模拟 数据结构 严蔚敏 代码 程序 直接运行
/***
* Experiment of DataStructure file
*
* Copyright (c) 2010-2011, htu zhuzhichao. All rights reserved. *
*Purpose:
*
ʵÏÖÁËÄ£ÄâÒøÐеijÌÐòÉè¼Æ,²¢ÇÒ°üº¬Ã¿Ò»¸ö¿Í»§À뿪ʱ¼ä¼°Í³¼Æ,ÒÔ¼° * ´°¿ÚÅŶӵĿÉÊÓ»¯Ä£Äâ.ÔËÐвâÊÔͨ¹ý.
*
* [Public]
*
****/
#define OK 1
#define TRUE 1
#define FALSE 0
#define ERROR 0
#define INFEASIBLE -1
#define OVERFLOW -2
typedef int Status;
//-----------------ÒøÐÐÅŶÓÄ£Äâ
//ʼþºÍʼþ±í
typedef struct QCuEvent
{
int OccurTime; int NType; struct QCuEvent *next; 2010.10 ÖìÖdz¬ ÓÚºÓʦ´óÎ÷Çø¶«Ò»Â¥110ËÞÉá
}QCuEvent, *EventList;
//´°¿Úǰ¶ÓÁÐÔªËØ
typedef struct QCuElem
{
int ArrivalTime; int Duration; struct QCuElem *next;
}QCuElem,*QEptr;
//´°¿ÚÖ¸Õë
typedef struct {
QEptr front;
QEptr rear;
}QCustomerp,*QCupp;
//Ö÷Òª²Ù×÷º¯Êý
银行业务模拟 离散事件模拟 数据结构 严蔚敏 代码 程序 直接运行
Status OpenForDay(EventList &ev, QCuEvent en, QCupp &q);//¿ªÃÅ Status CustomerArrived(EventList &ev, QCupp &q,
en);//¹Ë¿Íµ½´ï
Status CustomerDeparture(EventList &ev, QCupp &q,
en);//¹Ë¿ÍÀ뿪
void CloseForDay();
//»ù±¾²Ù×÷º¯Êý
Status OrderInser(EventList
en);//°´Ê±¼ä˳Ðò²åÈëʼþµ½Ê¼þ±í
int QLength(QCustomerp qn);//Çó´°¿Ú¶ÓÁ㤶È
int MinCuQueue(QCupp q);//Çó¶Ó×î¶ÌµÄ´°¿Ú
Status DelFirstEvent(EventList &ev);//ɾ³ýʼþ±íÖеĵÚÒ»¸öʼþ Status InitCuQueue(QCustomerp &qn);//³õʼ»¯´°¿Ú¶ÓÁÐ
Status EnCuQueue(QCustomerp &qn,QEptr Q);//½øÈë¶ÓÁÐ
Status DeCuQueue(QCustomerp &qn,QCuElem &Q);//ɾ³ý¶ÓÁÐÖеÄÔªËØ
Status GetQHead(QCustomerp qn,QCuElem &Q);//»ñµÃ¶ÓÁÐÖеĵÚÒ»¸öÔªËØ Status DestoryQueue(QCustomerp qn);//Ïú»Ù¶ÓÁÐ
void Ptint_QStatus(QCustomerp QCu[]);//´òÓ¡¶ÓÁ㤶È
void Bank_SimulationFunc();
void test(char str[]);
#include "stdio.h"
#include "stdlib.h"
#include "time.h"
int i=0,e=0,counter=0;
int TotalTime=0,CustomerNum=0;
int CloseTime; //¹ØÃÅʱ¼ä
int windowsnum = 0;
//Ö÷º¯Êý
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); //Àۼƿͻ§¶ºÁôʱ¼ä,¿Í»§Êý &ev, QCuEvent QCuEvent QCuEvent
银行业务模拟 离散事件模拟 数据结构 严蔚敏 代码 程序 直接运行
}
CustomerDeparture(ev, QCu, en); Ptint_QStatus(QCu); } CloseForDay();
//Ö÷Òª¹¦ÄÜ×Óº¯Êý
Status OpenForDay(EventList &ev, QCuEvent en, QCupp &q) {
}
Status CustomerArrived(EventList &ev, QCupp &q, QCuEvent en) {
test("¹Ë¿Íµ½´ï´¦Àí<<<<<<<<"); CustomerNum ++; // ²úÉúËæ»úÊý int temp = 0; printf("ÇëÊäÈëËæ»úÊýÖÖ×Ó(»òÊäÈë0ʹÓÃËæ»úÖÖ×Ó):"); scanf("%d",&temp); if (temp==0) srand((unsigned)time(NULL)); else srand(temp); printf("ÇëÊäÈëӪҵʱ¼ä(µ¥Î»:· …… 此处隐藏:3552字,全部文档内容请下载后查看。喜欢就下载吧 ……