c语言课程设计题目 医院排队看病系统

c语言课程设计题目 医院排队看病系统,第1张

#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位选手已经就诊!\n",p->data)

  L->front=p->next

  if(!p)

   L->rear=NULL

  else

   free(p)

 }

 else

 {

  

  num=0

  printf("所有的病人都已就诊完毕!\n")

 }

}

void showqueueperson(QuType *L)

{

 QNode *p=L->front

 printf("输出所有排队者的序号:\n")

 while(p)

 {

  printf(" %d\n",p->data)

  p=p->拍凯next

 }

 袭竖唤if(!L->front)

  printf("病人都已经看病完成!\n")

}

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号即可进行诊疗!\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)

  

 }

 else

  printf("队列中无此人!无需删除 *** 作!\n")

}

//链队类型

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("\n挂号成功!\n") break

  case 2: deletlqueue(qu)

   printf("\n")break  //就诊,出队

  case 3: showqueueperson(qu)   break  //显示排队病人

  case 4: {

     printf("若您需要马上就诊,请输入您的号:")

     scanf("%d",&quik)

     quikSee(qu,quik)

     printf("\n")

    }      break  //任意顺序就诊

  case 5: {

     printf("抱歉!已下班,请排队的病人明天再来就诊!\n\n")//下班,明天就医!

     flag=0     //退出

     break

    }

  default : printf("输入错误,请从新输入!\n\n")continue

  }

    }

}

void main()

{

 SeeDoctor()

}

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

我截张图给你吧!

先挂号,挂号前先办一张诊疗卡,然后告诉挂号的医护工作者你哪里不舒服,他/她会告诉你挂什么科室,如果你有蓝本,出示蓝本。然后到相应科室,到分诊台,分诊台的护士告诉你到哪里看哪个大夫。然后等大夫叫号。如果需要做其他检查,大夫会给你开检查单,然后就交费,然后去做相应检查,等结果,拿到结果去找刚才给你看病的大夫。最后大夫就给你开药,也是先交费,再去药掘亩伍房取药。

有蓝本,交费前出示蓝本。

有的医院不叫号,直接进去。

有的医院做完检查拿完结果还判或要再刷一下卡才能再去找给你看病的大夫。

现在划价和交费都是一气呵成,不知道还有没有要先划价再交费的医院。

如果你觉得药费太贵,你可耐扒以不要。

如果是看中医,并且是汤药,等大夫给你开完方子马上就去交费,你交费药房才开始给你配药,配药要等挺长时间的。

一般专科(主治)大夫爱瞎开药,最好挂专家(主任/副主任)大夫。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/12214888.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-21
下一篇 2023-05-21

发表评论

登录后才能评论

评论列表(0条)

保存