问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

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

发布网友 发布时间:2022-07-06 09:10

我来回答

2个回答

热心网友 时间:2023-10-06 07:23

#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();
}

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

我截张图给你吧!

热心网友 时间:2023-10-06 07:23

这个题目够大。
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
电脑lol突然很卡怎么办啊电脑玩lolfps低怎么解决 危化品仓库有什么设备 香港中文大学2021-2022在河北,重庆最低录取分数线 ChaCheer 洽洽 南瓜子 盐焗味 500g-适用对象 老闫家小粒香南瓜子-适用对象 洽洽盐焗味南瓜子-适用对象 盐焗南瓜子里有添加明矾吗 老街口盐焗味南瓜子500g*2袋量大优惠休闲零食 一天走多少步可以减肥每天走多少步可以减肥 肉炖土豆需要炖多久时间 C语言程序设计题目?求解...... C语言课程设计题目 1、设计一个学生成绩管理系统,学生成绩信息包括:学号、姓名、四门课程的成绩,实 跪求解两道c语言课程设计题,万分感谢!!! C语言课程设计题目 大一C语言课程设计题目, 求急! 加100分。 中山陵导游词 300字 什么模拟器安装微信养比较好? 有没有自动养的工具? worsen 和worse是不是一样的?什么意思?有什么区别? worse的中文是什么 worse怎么读啊什么意思 worse音标是什么意思 worse什么意思 worse在音乐中是什么意思 worse是什么意思啊 急~~~ 英语worse是什么意思 worse是啥意思 吴通控股后市有望上涨吗 critical crucial均有决定性的意思,求区别 小贝8个月鼻塞怎么办? c语言课程设计的相关问题,关于题目的。 AUTOCAD中如何把三维图形转成二维图形,能进行灵活编辑吗? AUTO CAD中如何将三维图转化成二维图,并在转换的二维图上进行二维编辑 魔兽世界 哈兰作战勋章怎样得到啊大神们帮帮忙 魔兽世界要塞任务哈兰作战勋章怎么获得 哈兰作战勋章怎么刷 哈兰作战勋章怎么获得? 正月初十古代怎么说 安装ws office中程序组件发生错误 安装Xshell5失败提示安装程序组件时出错,求大牛帮忙 魔兽世界藏宝海湾的坐标。 海贼王 燃烧意志 天梯 如何先发招 拼多多可以开直通车吗?怎么开 如何从症状上区分普通感冒和流感? 电视机主板改装功放板问题 怎么用这个电视主板做一个功放板呢.求大神帮帮忙。 想用旧电视中的伴音电路做个实验,改为低音炮的功放电路,如何改? 通过Hdmi arc连接显卡 让电视的声音从电脑的主板声卡当做功放输出能否可行? 2020年会议有哪些 弓箭大师中哪些角色有特殊技能