资源简介
c语言银行业务模拟
银行业务模拟
银行业务模拟
银行业务模拟
银行业务模拟
银行业务模拟
代码片段和文件信息
#include
#include
/*随机数初始值*/
#define MONEY 200000 /*个人业务值*/
#define TRUE 1
#define FALSE 0
#define OK 1
#define ERROR 0
#define OVERFLOW -2
#define CK 1 /*离开事件1:办理存款*/
typedef int status;
typedef struct{
int arrivetime; /*到达时间*/
int OccurTime; /*事件发生时间*/
int NType; /*事件类型*/
int duration; /*办理业务时间*/
long int money; /*数额*/
}EventElemType1;
typedef struct{
int arrivetime;
int duration;
long int money;
}waitElemType2; /*等待队列元素*/
typedef struct QNode1{
ElemType1 data;
struct QNode1 *next;
}QNode1*Queue1;
typedef struct QNode2{
ElemType2 data;
struct QNode2 *next;
}QNode2*Queue2;
typedef struct{
Queue1 front;
Queue1 rear;
}linkQueue1;
typedef struct{
Queue2 front;
Queue2 rear;
}linkQueue2;
/*全局变量*/
long int total_money;
int total_time;
int use_time;/*每个顾客所用时间*/
int money;/*每个顾客办理的款数*/
int closetime;/*银行营业时间*/
int INTERTIME; /*下一用户到达的时间间隔*/
int DURATION; /*办理业务所需时间*/
int pe_num; /*办理业务的次序*/
int time1;/*系统现在时间*/
linkQueue1 Q1;
linkQueue2 Q2;
Event en; /*事件*/
wait en1; /*列表2元素*/
/*初始化队列1*/
status InitQueue1()
{Q1.front=Q1.rear=(Queue1)malloc(sizeof(QNode1));
if(!Q1.front)exit(OVERFLOW);
Q1.front->next=NULL;
return OK;
}
/*初始化队列2*/
status InitQueue2()
{Q2.front=Q2.rear=(Queue2)malloc(sizeof(QNode2));
if(!Q2.front)exit(OVERFLOW);
Q2.front->next=NULL;
return OK;
}
/*销毁队列1*/
status destroyqueue1()
{while(Q1.front)
{Q1.rear=Q1.front->next;
free(Q1.front);
Q1.front=Q1.rear;
}
return OK;
}
/*销毁队列2*/
status destroyqueue2()
{while(Q2.front)
{Q2.rear=Q2.front->next;
free(Q2.front);
Q2.front=Q2.rear;
}
return OK;
}
/*队列1,2 入队列*/
status EnQueue1()
{Queue1 prr1;
p=(Queue1)malloc(sizeof(QNode1));
if(!p)exit(OVERFLOW);
p->data.arrivetime=en.arrivetime;
p->data.OccurTime=en.OccurTime;
p->data.NType=en.NType;
p->data.duration=en.duration;
p->data.money=en.money;
r=Q1.front->next;
while(r)
{if(p->data.OccurTime < r->data.OccurTime) /*当队列*/
{ if(r==Q1.front->next)
{p->next=r;
Q1.front->next=p;
}
else{r1->next=p;
p->next=r;
}
}
r1=r;r=r->next;
}
if(!r)
{ if(Q1.front->next==NULL)
{Q1.front->next=p;
Q1.rear=p;
Q1.rear->next=NULL;
}
else{
p->next=NULL;
Q1.rear->next=p;
Q1.rear=p;}
}
return OK;
}
status EnQueue2()
{Queue2 p;
p=(Queue2)malloc(sizeof(QNode2));
if(!p)exit(OVERFLOW);
p->data.arrivetime=en1.arrivetime;
p->data.duration=en1.duration;
p->data.money=en1.money;
p->next=NULL;
Q2.rear->next=p;
Q2.rear=p;
return OK;
}
/*队列1,2 出队列并用en返回值*/
status DeQueue1()
{ Queue1 p;
if(Q1.front==Q1.rear)return ERROR;
p=Q1.front->next;
en.arrivetime=p->data.arrivetime;
en.Oc 属性 大小 日期 时间 名称
----------- --------- ---------- ----- ----
文件 11498 2008-01-16 23:05 bank.c
----------- --------- ---------- ----- ----
11498 1
- 上一篇:C++机房机位预约管理
- 下一篇:多边形区域的扫描线填充、扫描线种子填充算法实现
相关资源
- 操作系统c语言模拟文件管理系统844
- C语言开发实战宝典
- C++中头文件与源文件的作用详解
- C语言代码高亮html输出工具
- 猜数字游戏 c语言代码
- C语言课程设计
- 数字电位器C语言程序
- CCS FFT c语言算法
- 使用C语言编写的病房管理系统
- 通信过程中的RS编译码程序(c语言)
- 计算机二级C语言上机填空,改错,编
- 用回溯法解决八皇后问题C语言实现
- 简易教务管理系统c语言开发文档
- 操作系统课设 读写者问题 c语言实现
- 小波变换算法 c语言版
- C流程图生成器,用C语言代码 生成C语
- 3des加密算法C语言实现
- 简单的C语言点对点聊天程序
- 单片机c语言源程序(51定时器 八个按
- 个人日常财务管理系统(C语言)
- c语言电子商务系统
- 小甲鱼C语言课件 源代码
- 将图片转换为C语言数组的程序
- C语言实现的一个内存泄漏检测程序
- DES加密算法C语言实现
- LINUX下命令行界面的C语言细胞游戏
- 用单片机控制蜂鸣器播放旋律程序(
- 学校超市选址问题(数据结构C语言版
- 电子时钟 有C语言程序,PROTEUS仿真图
- 尚观培训linux许巍老师关于c语言的课
川公网安备 51152502000135号
评论
共有 条评论