栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

用队列实现医院管理系统(链表)

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

用队列实现医院管理系统(链表)

#include 
#include 
#include 
using namespace std;
#define OK 1
#define ERROR -1
typedef int status;
typedef struct{
    int number;
    char name[100];
}ElemType;
typedef struct Qnode{
    ElemType data;
    struct Qnode *next;
}Qnode,*QuenePtr;
typedef struct{
    QuenePtr front;
    QuenePtr rear;
}linkQuene;
status CreateQuene(linkQuene &Q);
status EnQuene(linkQuene &Q,int n);
status DeQuene(linkQuene &Q);
status SortQuene(linkQuene Q,int e);
status Sort2Quene(linkQuene Q);
status Sort3Quene(linkQuene Q);
status CompareQuene(linkQuene Q,QuenePtr p);
int main()
{
    int a,m,n,e,j;
    linkQuene Q;
    Q.front=NULL;
    QuenePtr q;
    while(1)
    {
        cout<<"1,上班              "<<"2,候诊              "<<"3,就诊"<>a;
        switch(a)
        {
            case 1:
            {
                m=CreateQuene(Q);
                if(m==-1)
                {
                    cout<<"上班失败!请重新上班"<>n;
                m=EnQuene(Q,n);
                if(m==1)
                {
                    cout<<"候诊病人输入成功!"<next;
                cout<<"请输入查看人的病历号:";
                cin>>e;
                m=SortQuene(Q,e);
                if(m==-1)
                {
                    cout<<"此病历号不存在!查看失败!"<data.number<<" "<data.name<next;
                    }
                }
                break;
            }
            case 5:
            {
                m=Sort2Quene(Q);
                if(m==-1)
                {
                    cout<<"已无病人候诊!"<next=NULL;
    Q.rear=Q.front;
    return OK;
}
status EnQuene(linkQuene &Q,int n)
{
    QuenePtr p;
    int i=0,j;
    p=new Qnode;
    printf("请输入第%d个病人的病历号和姓名:",i+1);
    scanf("%d%s",&p->data.number,p->data.name);
    p->next=NULL;
    Q.rear->next=p;
    Q.rear=p;
    for(i=1;idata.number,p->data.name);
        j=CompareQuene(Q,p);
        while(j==-1)
        {
            cout<<"此病历号前面已存在,请重新输入病历号!"<data.number,p->data.name);
            j=CompareQuene(Q,p);
        }
        p->next=NULL;
        Q.rear->next=p;
        Q.rear=p;
    }
    return OK;
}
status DeQuene(linkQuene &Q)
{
    if(Q.front==Q.rear)
    return ERROR;
    QuenePtr p;
    p=Q.front->next;
    Q.front->next=p->next;
    if(Q.rear==p)
    Q.rear=Q.front;
    delete p;
    return OK;
}
status SortQuene(linkQuene Q,int e)
{
    QuenePtr p;
    int i=0;
    p=Q.front->next;
    while(p!=NULL)
    {
        if(p->data.number==e)
        {
            break;
        }
        else
        {
            i++;
            p=p->next;
        }
    }
    if(p==NULL)
    return ERROR;
    else
    return i;
}
status Sort2Quene(linkQuene Q)
{
    int i=0;
    if(Q.front==Q.rear)
    return ERROR;
    QuenePtr p;
    p=Q.front->next;
    while(p!=NULL)
    {
        i++;
        p=p->next;
    }
    return i;
}
status Sort3Quene(linkQuene Q)
{
    QuenePtr p;
    p=Q.front->next;
    while(p!=NULL)
    {
        cout<data.number<<" "<data.name<next;
    }
}
status CompareQuene(linkQuene Q,QuenePtr p)
{
    QuenePtr q;
    q=Q.front->next;
    while(q!=NULL)
    {
        if(q->data.number==p->data.number)
        {
            return ERROR;
        }
        q=q->next; 
    }
    return OK;
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/767436.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号