#include<stdio.h>
#include<stdlib.h>
#include<windows.h>
typedef struct list
{
int data;
char data1[10];
struct list *next;
}lnode,*linklist;
typedef struct temp
{
linklist front;
linklist rear;
}queue;
enqueue(queue *q)
{
linklist p=(linklist)malloc(sizeof(lnode));
printf("输入病例号和名字\n");
scanf("%d",&p->data);
scanf("%s",&p->data1);
p->next=NULL;
q->rear->next=p;
q->rear=p;
}
jiuzhen(queue *q)
{
linklist p=q->front->next;
printf("这是排队就诊的病人:->");
printf("%d ",p->data);
printf("%s ",p->data1);
q->front->next=p->next;
free(p);
}
yanshi(char *p)
{
while(1)
{
if(*p!=0)
{
printf("%c",*p++);
}
else
{
break;
}
Sleep(100);
}
}
void jiuzhen1(queue *q)
{
linklist p=q->front->next;
printf("按照这个依次就诊:\n");
while(p)
{
printf("%d ",p->data);
printf("%s ",p->data1);
q->front->next=p->next;
free(p);
p=q->front->next;
printf("\n");
}
}
chakan(queue *q)
{
linklist p=q->front->next;
printf("按照这个依次就诊:\n");
while(p)
{
printf("%d ",p->data);
printf("%s ",p->data1);
q->front->next=p->next;
//free(p);
p=q->front->next;
printf("\n");
}
}
int main()
{
system("color 0b");
yanshi("\3\3\3\3\3\3\3欢迎使用医院排队系统\3\3\3\3\3\3\3\3");
printf("\n");
printf(" 1.进入排队\n");
printf(" 2.首先排队就诊病人\n");
printf(" 3.按次序就诊\n");
printf(" 4.今天结束,退出系统\n");
printf(" 5.查看排队情况\n");
queue *q=(queue*)malloc(sizeof(queue));
q->front=q->rear=(linklist)malloc(sizeof(lnode));
// q->front=q->rear=NULL;
q->front->next=NULL;
int x;
scanf("%d",&x);
while(x!=-1)
{
switch(x)
{
case 1: enqueue(q);
break;
case 2: jiuzhen(q);
break;
case 3: jiuzhen1(q);
break;
case 4:
printf("医院医生下班,明日再来,欢迎使用\n");
break;
case 5: chakan(q);
break;
}
printf("选择下一步进行的操作: \n");
scanf("%d",&x);
}
}
C语言数据结构医院排队就诊系统——使用链队列完成(娱乐)
最新推荐文章于 2023-07-01 11:51:52 发布