C语言模拟医院看病过程.doc

C语言模拟医院看病过程.doc

ID:50351504

大小:46.81 KB

页数:3页

时间:2020-03-08

C语言模拟医院看病过程.doc_第1页
C语言模拟医院看病过程.doc_第2页
C语言模拟医院看病过程.doc_第3页
资源描述:

《C语言模拟医院看病过程.doc》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、模拟患者医院看病过程(使用语言描述)1.主要功能描述:患者医院看病过程是,先排队等候,在看病治疗。在排队等候的过程中主要重复做两件事情,一是患者到达诊室是,将病历交给护士,排队等候队列中就诊;二是护士从等候队列中取出下一个患者的病历,该患者进入诊室看病。2.设计分析:使用循环队列的相关操作,当病人到达时挂号则入队,护士叫下一位患者就诊则排在前面的患者出队,当接到不在接受病人时候,则将队中所有元素出队,并用flag=0终止程序运行。①重要变量用途说明②算法描述#include#def

2、ineMAXSIZE50#defineQueueElementtypeinttypedefstruct//定义循环队列{QueueElementtypeelement[MAXSIZE];//队列元素空间intfront;//头指针指示器intrear;//尾指针指示器}SeqQueue;voidInitQueue(SeqQueue*Q)//初始化为循环空队列{Q->front=Q->rear=0;}intEnterQueue(SeqQueue*Q,QueueElementtypex)//入队操作{i

3、f((Q->rear+1)%MAXSIZE==Q->front)//尾指针加1追上头指针,标志队列已经满了return(false);Q->element[Q->rear]=x;Q->rear=(Q->rear+1)%MAXSIZE;//重新设置尾指针return(true);}intDeleteQueue(SeqQueue*Q,QueueElementtype*x)//出队操作{if(Q->front==Q->rear)//队列为空,不能操作return(false);*x=Q->element[

4、Q->front];Q->front=(Q->front+1)%MAXSIZE;//重新设置头指针return(true);}intIsEmpty(SeqQueue*Q)//判断队列是否为空{if(Q->front==Q->rear)returntrue;elsereturnfalse;}voidSeeDoctor(){SeqQueueQ;intflag=1;inta,n;InitQueue(&Q);while(flag){printf("请输入指令:");scanf("%d",&a);swit

5、ch(a){case1:printf("请输入病历号:");scanf("%d",&n);EnterQueue(&Q,n);break;case2:if(!IsEmpty(&Q)){DeleteQueue(&Q,&n);printf("病历号为%d的病人就诊",n);}elseprintf("无病人等候就诊");break;case3:printf("今天停止挂号,下列病人依次就诊:");while(!IsEmpty(&Q)){DeleteQueue(&Q,&n);printf("%

6、dt",n);}flag=0;break;default:printf("非法命令!");}}printf("");}voidmain(){SeeDoctor();}

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。