当前位置:新励学网 > 秒知问答 > 用c语言编写医院排队看病系统,急!!!求大神!!

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

发表时间:2024-07-25 10:24:33 来源:网友投稿

#include#include

typedefintqueuetype;queuetypenum=1;typedefstructqnode{queuetypedata;structqnode*next;}QNode;//链队结点类型typedefstruct{QNode*front,*rear;}QuType;

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

voidpushlqueue(QuType*L,queuetypee){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++;}voiddeletlqueue(QuType*L){if(L->front){QNode*p;p=L->front;printf(第%d位选手已经就诊!\n,p->data);L->front=p->next;if(!p)L->rear=NULL;elsefree(p);}else{num=0;printf(所有的病人都已就诊完毕!\n);}}

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

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

if(t->next==L->rear)t->next=L->rear=NULL;free(q);}elseprintf(队列中无此人!无需删除操作!\n);

}

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

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

我截张图给你吧!

免责声明:本站发布的教育资讯(图片、视频和文字)以本站原创、转载和分享为主,文章观点不代表本网站立场。

如果本文侵犯了您的权益,请联系底部站长邮箱进行举报反馈,一经查实,我们将在第一时间处理,感谢您对本站的关注!