病人就诊系统学生时代小作品源码(C语言版)

/***************************************************************************************************/

//病人就诊管理系统

//作者:danyuan    湖南理工学院  12级信息工程

/***************************************************************************************************/

 

#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://f.hiphotos.baidu.com/zhidao/wh%3D600%2C800/sign=ae38b2ce0823dd542126af6ee1399fe6/e850352ac65c103836680068b3119313b07e8902.jpg

 

  • 2
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值