资源简介
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语言实现:Linux下的myshell
- C语言程序设计药房药品管理系统
- C语言:英文单词小助手源代码
- c语言五子棋代码
- C语言 报刊订阅管理系统
- Jacobi迭代法解方程(C语言代码)
- 迷宫问题c语言源代码
- 学生社团管理系统数据结构课程设计
- C语言数据结构迷宫求解的源码
- 谭浩强c语言word版
- C语言实现malloc和free
- C语言经典程序设计源代码之画图软件
- 进程的同步与互斥C语言
- 基于huffman编码的文件解压缩程序(
- C语言电子表格
- C语言linux实现ls功能
- 一个完整的des算法的c语言实现
- c语言RSA算法 这是一个完整的rsa算法
- tftp服务器源码,纯c语言
- 严蔚敏《数据结构》的全部代码实现
- LinuxC语言实现CP命令(edsionte.com)
- C语言指针详解__ppt文件
- FTP客户端程序,c语言编写
- C语言N皇后打印图形版
- Head First_深入浅出C语言(中文版)_带
- 唯一可译码源代码c语言 含报告
- 数据结构课程设计-班级通讯录
- AES密码学课程设计带报告
- 哈希表操作c语言版
- C语言版拼音输入法源代码
评论
共有 条评论