用c语言编写医院排队看病系统,急啊!!!求大神!!
#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位选手已经就诊!
",p->data);
L->front=p->next;
if(!p)
L->rear=NULL;
else
free(p);
}
else
{
num=0;
printf("所有的病人都已就诊完毕!
");
}
}
void showqueueperson(QuType *L)
{
QNode *p=L->front;
printf("输出所有排队者的序号:
");
while(p)
{
printf(" %d
",p->data);
p=p->next;
}
if(!L->front)
printf("病人都已经看病完成!
");
}
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号即可进行诊疗!
",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("队列中无此人!无需删除操作!
");
}
//链队类型
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("
挂号成功!
"); break;
case 2: deletlqueue(qu);
printf("
");break; //就诊,出队
case 3: showqueueperson(qu); break; //显示排队病人
case 4: {
printf("若您需要马上就诊,请输入您的号:");
scanf("%d",&quik);
quikSee(qu,quik);
printf("
");
} break; //任意顺序就诊
case 5: {
printf("抱歉!已下班,请排队的病人明天再来就诊!
");//下班,明天就医!
flag=0; //退出
break;
}
default : printf("输入错误,请从新输入!
"); continue;
}
}
}
void main()
{
SeeDoctor();
}
病人的姓名等信息就在结构体里加几个成员就行了!主要功能已经实现了!
我截张图给你吧!
这个用队列实现就可以了
显示情况不可能去用c去写这个东西,看你这情况老师是再靠你数据结构吧
...........你是弄什么的?
蔚纯娴3201 :答:1、首先打开CodeBlocks,新建一个空白文件。先定义头文件和主函数。2、定义所需要的变量,因为有除法,肯定会有小数出现,所以将变量定义为浮点型。3、定义输入函数,将刚才的x和y定义为计算的变量,将c定义为选择计算方式的变量。scanf("%f%c%f",&x,&c,&y)。4、添加switch函数,将c作为选择变量。
蔚纯娴3201 :答:很明显 这个只要实现队列一切就简单了 其实c++有quene类 这里我们自己实现它 剩下的自己来写就好了 很简单的 首先一个链表的 include <iostream>using namespace std;//链表typedef struct QDode{ int n; struct QDode *next;}*pqdode,qdode;//队列typedef struct MyQueue{pqdode front;pqdod...
蔚纯娴3201 :答:include <stdio.h> include <stdlib.h> char g_uniqueKey[24] = {0};void ShowMainDlg(){ system("cls");printf("===XX餐厅===\n");printf("1-取号 2-叫号 3-退号 4-退出系统\n");printf("===\n");printf("请选择对应菜单(1~4):");} void ShowAddDlg(){ syste...
蔚纯娴3201 :答:现在的医院体检系统用的最常用的是杏林七贤,编写这类软件一般用c语言来进行,java编程这些。常用的编程类语言有:Pascal、c语言、qBasic、 Fortran、Visual Basic等等。但前几种都是在DOS下进行编程的工具,Visual Basic是在 Windows下进行应用程序设计的编程工具,现在一般的计算机用户几乎都不再使用DOS了...
蔚纯娴3201 :答:include <stdio.h> include <stdlib.h> void main(){ int r,p;char buf;printf("请输入概率:(举例:概率10%,输10)\n");scanf("%d",&p);scanf("%c",&buf);while(1){ r=rand()%10*10/p;if(r==0){ printf("恭喜中奖!");} else { printf("不中奖!");} printf("\n"...
蔚纯娴3201 :答:医生系统具有系统结构紧凑,效率高,实用性好,有很高的可靠性与稳定性。系统操作简便,系统提供优化的系统录入界面,可以大幅度提高输入信息的速度及准确性.
蔚纯娴3201 :答:快速生成一个群组排班表,再由HR人员手工做少少修改或不用修改就可以完成排班,这可以减轻排班难度。4、员工排班表的生成。排班表决定员工最终排定班次,注意:该表不一定存在于数据库中,至少在我的设计里,该表没有存在于数据库表中。它是排班系统动态依据“群组排班表”“个人排班表”“个人历史记录”计算而得出的...
蔚纯娴3201 :答:用C语言写一个模拟火车票管理系统。 20 系统主要包过以下几个功能。1.发放票数(发放出发地到目的地的票数)2.预订火车票(预订出发地到目的地的票数)3.退订火车票(退订出错或不需要的票)4.修改(修改时间及地点)5.查询... 系统主要包过以下几个功能。1. 发放票数(发放出发地到目的地的票数)2.预订火车...
蔚纯娴3201 :答:include <stdio.h>#include <string.h>#include <conio.h>#include <ctype.h>#include <stdlib.h>#include <malloc.h>#include <math.h>//overflow#define ok 1typedef struct Yidingkehu{//单链表 char name[15];//已订票的客户姓名 int dingpiaoshu;//已订票数量 struct Yidingkehu *next1...
蔚纯娴3201 :答:用C语言写火车订票系统 15 我来答 5个回答 #热议# 职场上受委屈要不要为自己解释? 匿名用户 2011-12-30 展开全部 #include <conio.h>#include <stdio.h>#include <stdlib.h>#include <string.h>int shoudsave=0 ;int count1=0,count2=0,mark=0,mark1=0 ;/*定义存储火车信息的结构体*/...