新华东交通大学数据结构课程设计(银行模拟系统) - 副本(2)

1970-01-01 08:00

6)测试数据:要求使用1、全部合法数据;2、整体非法数据;3、局部非法数据。进行程序测试,以保证程序的稳定。

2. 模块结构

系统主要由2个模块组成,分别是:

① 主程序模块

② 队列模块--实现队列抽象数据类型

模块之间的结构如下:

各模块相互调用关系如下:

主程序模块

队列模块

3. 解题思路

各模块的实现步骤为

(1). 实现步骤

首先,分析题目要求划分实现模块、画出大致的流程图,定义基本数据类型,诸如结构体、队列等;

其次,考虑基本大致的操作,比如要拟定开门的时间、顾客到来为其提供服务以及离开时的操作等;

6

再次,针对上述的基本操作实现具体需要进行的操作,具体实现每个环节需要进行的基本操作,即具体编写每个小函数实现功能;

最后,编写主函数对每个实现进行按需调用,实现操作。

(2). 流程图

开始 客户到达

选择服务窗口

是 窗口忙

排队

服务并展开 否 队列空 队头取客户

窗口闲置 处理并离开 否 时间到

结束 图-1 事件流程图

7

结束 输出结果 队列是否为空 开始 main() Customerarrive() 进入or 离开 CutomDepation() () 图-2 主函数流程图

三、 实现

代码及注释 #define OK 1 #define TRUE 1 #define FALSE 0 #define ERROR 0

8

#define INFEASIBLE -1 #define OVERFLOW -2

typedef int Status;

//-----------------银行排队模拟 //事件和事件表 typedef struct QCuEvent { int OccurTime; int NType;

struct QCuEvent *next;

}QCuEvent, *EventList; //窗口前队列元素 typedef struct QCuElem { int ArrivalTime; int Duration;

struct QCuElem *next;

}QCuElem,*QEptr; //窗口指针 typedef struct { QEptr front;

QEptr rear;

}QCustomerp,*QCupp; //主要操作函数

9

Status OpenForDay(EventList &ev, QCuEvent en, QCupp &q);//开门 Status CustomerArrived(EventList &ev, QCupp &q, QCuEvent en);//顾客到达 Status CustomerDeparture(EventList &ev, QCupp &q, QCuEvent en);//顾客离开 void CloseForDay(); //基本操作函数

Status OrderInser(EventList &ev, QCuEvent 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 \#include \#include \

int i=0,e=0,counter=0;

int TotalTime=0,CustomerNum=0; //累计客户逗留时间,客户数

10


新华东交通大学数据结构课程设计(银行模拟系统) - 副本(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2006新会计准则完整DOC版(含准则原文、解释和指南)

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: