当前位置:首页 » 编程语言 » c语言排队

c语言排队

发布时间: 2024-01-24 00:45:15

❶ 用c语言编写医院排队看病系统,急啊!!!求大神!!

#include <stdio.h>
#include <malloc.h>

typedef int queuetype;
queuetype num=1;
typedef struct qnode
{
queuetype data;
struct qnode *next;
} QNode; //链队结点类型
typedef struct
{
QNode *front,*rear;
} QuType;


void initlqueue(QuType *L)
{
L->front=L->rear=NULL;
}

void pushlqueue(QuType *L,queuetype e)
{
QNode *p=(QNode*)malloc(sizeof(QNode));
p->data=e;
p->next=NULL;
if(!L->front)
{
L->front=p;
}
if(L->rear)
L->rear->next=p;
L->rear=p;
num++;
}
void deletlqueue(QuType *L)
{
if(L->front)
{
QNode *p;
p=L->front;
printf("第%d位选手已经就诊! ",p->data);
L->front=p->next;
if(!p)
L->运拿rear=NULL;
else
free(p);
}
else
{

num=0;
printf("所有的病人都已就诊完毕! ");
}
}

void showqueueperson(QuType *L)
{
QNode *p=L->front;
printf("输出所有排队者的序号: ");
while(p)
{
printf(" %d ",p->data);
p=p->next;
}
if(!L->front)
printf("病人都已经看病完成! ");
}

void quikSee(QuType*L,queuetype e)
{
QNode *p=L->front,*q,*t;
while(p&&p->data!=e)
{
t=p;
p=p->next;
}
if(p->data==e)
{
printf("find!%d号即可进行诊疗! ",p->data);
q=t->next;
if(q->next)
t->next=q->next;

if(t->next==L->rear)
t->next=L->rear=NULL; free(q);

}
else
printf("队列中无此人!无需删除操作! ");

}


//链队类型
void SeeDoctor()
{
int sel,flag=1;
QuType *qu=(QuType*)malloc(sizeof(QuType));
queuetype quik=0;
initlqueue(qu);//创建空队
while (flag==1) //循环执行
{
printf("1:排队 2:就诊 3:查看排队乎码 4.不再排队,余下依次就诊 5:下班 请选择:");
scanf("%d",&sel);
switch(sel)
{ //排队,入队
case 1: pushlqueue(qu,num); printf(" 挂号成岁悄哪功! "); break;
case 2: deletlqueue(qu);
printf(" ");break; //就诊,出队
case 3: showqueueperson(qu); break; //显示排队病人
case 4: {
printf("若您需要马上就诊,请输入您的号:");
scanf("%d",&quik);
quikSee(qu,quik);
printf(" ");
} break; //任意顺序就诊
case 5: {
printf("抱歉!已下班,请排队的病人明天再来就诊! ");//下班,明天就医!
flag=0; //退出
break;
}
default : printf("输入错误,请从新输入! "); continue;
}
}
}
void main()
{
SeeDoctor();
}

病人的姓名等信息就在结构体里加几个成员就行了!主要功能已经实现了!

我截张图给你吧!

热点内容
怎么查看服务器ip跟密码是多少 发布:2025-07-10 21:12:29 浏览:20
sqlserver读写分离 发布:2025-07-10 21:12:27 浏览:374
油猴安装脚本 发布:2025-07-10 21:01:30 浏览:583
json跨域访问 发布:2025-07-10 20:51:37 浏览:870
架设测试服务器怎么做 发布:2025-07-10 20:47:32 浏览:412
lol服务器满载怎么办 发布:2025-07-10 20:31:08 浏览:328
sql2005脚本导出数据 发布:2025-07-10 20:31:05 浏览:112
三星手机服务器停止运行怎么办 发布:2025-07-10 20:21:07 浏览:868
华为手机原厂设置密码多少 发布:2025-07-10 20:19:54 浏览:242
如何重设服务器地址 发布:2025-07-10 20:19:53 浏览:568