⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 paidui.cpp

📁 数据结构源程序
💻 CPP
字号:
#include <stdio.h>
#include <process.h>

#define MAXSIZE 100

typedef int ElemType;
typedef struct SeqQue{
  ElemType *elem;
  int front;
  int rear;
}SeqQue;

void Init(SeqQue &sq)
{
	sq.elem = new ElemType[MAXSIZE];
	sq.front = sq.rear = 0;
}

int IsFull(SeqQue sq)
{
	if((sq.rear+1)%MAXSIZE == sq.front)
	{
		return 1;
	}
	return 0;
}

int IsEmpty(SeqQue sq)
{
	if(sq.rear == sq.front)
	{
		return 1;
	}
	return 0;
}

int In(SeqQue &sq,ElemType elem)
{
	if(IsFull(sq))
	{
		return 0;
    }
	sq.elem[sq.rear] = elem;
	sq.rear = (sq.rear+1)%MAXSIZE;

	return 1;
}

int Out(SeqQue &sq,ElemType &elem)
{
	if(IsEmpty(sq))
	{
		return 0;
	}

	elem = sq.elem[sq.front];
	sq.front = (sq.front+1)%MAXSIZE;
    
	return 1;
}

void paidui()
{
	char ch;
    int count=0;
  
	ElemType elem;
    int flag=0;
    
	SeqQue sq;
	Init(sq);

	printf("\n模拟银行排队程序!");
	printf("\n输入操作:\n0: 开始办理\n1:请您拿号\n2: 1号窗口办理完\n3: 2号窗口办理完\n4:下班\n5:系统退出!");
	while(1)
	{
		ch = getchar();

		switch(ch)
		{
		case '0':
			printf("开始办理业务!");
			flag = 1;
			break;
		case '1':
			if(flag ==1)
			{
				In(sq,++count);
				printf("\n您的号是%d,请您排队等候!",count);
			    
			}
			else 
				printf("\n现在非工作时间!");
            break;
		
		case '2':
            if(Out(sq,elem))
				printf("\n请%d号顾客到1号窗口办理!",elem);
			else 
			{
				if(flag)
				   printf("\n现在没有等候顾客!");
				else
					printf("\n今日全部业务处理完毕!");
			}

					
			break;
		case '3':
			if(Out(sq,elem))
				printf("\n请%d号顾客到2号窗口办理!",elem);
			else 
			{
				if(flag)
				   printf("\n现在没有等候顾客!");
				else
					printf("\n今日全部业务处理完毕!");
			}
			break;
		case '4':
			flag = 0;
			printf("\n请未办理顾客排队等候!");
			break;
		case '5':
			exit(1);

		default:
			continue;
        }
	}
     
}

main()
{
    paidui();
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -