前言

模拟病人在医院等待就诊过程。
病人在医院的看病流程:挂号> 候诊一> 就诊。在本程序中只模拟等待就诊过程,

简述

文件linkqueue.h和文件linkqueue.cpp是针对队列的操作。队列采用链式存储,包含队列的初始化、进队、出队、判队空、求队列长度、查找和输出队列中元素等基本操作。

文件aap.h和文件app.cpp是针对病人的操作。病人信息被定义为结构体类型包含病人候诊、就诊、查看排队、查看看诊情况、上班、 下班和菜单等操作。

注:小白,望指正。

正文

#include"app.h"
#ifndef_linkqueue_h
#define_linkqueue_h
#include"iostream"
#include<stdlib.h>
#include<iomanip>
using namespace std;
#define OK 1
#define ERROR 0
typedef int Status
typedef struct Node
{DataType data;Node*next;
}QNode;
typedef struct
{QNode *front,*rear;
}LinkQueue;
Status init_Queue(LinkQueue &q);
Status In_Queue(LinkQueue &q,DataType x);
Status Out_Queue(LinkQueue &q,DataType &x);
Status Empty_Queue(LinkQueue q);
int Locate(LinkQueue q,int x);
void Show(LinkQueue q,int n);
int Length(LinkQueue q);
#endif
//linkqueue.cpp文件
#include"linkqueue.h"
Status Init_Queue(LinkQueue &q)
{QNode *p;p=new QNode;if(p=NULL)return 0;p->next=NULL;q.front=q.rear=p;return OK;
}
Status In_Queue(LinkQueue &q,DataType x)
{QNode*P=new QNode;p->data=x;p->next=NULL;q.rear->next=p;q.rear=p;reurn OK;
}
Status OutQueue(LinkQueue &q,DataType &x)
{if(q.rear=q.front)return ERROR;QNode*p=q.front->next;x=p->data;q.front->next=p->next;if(p==q.rear)q.rear==q.front;delete p;return ok;
}
Status Empty_Queue(LinkQueue q)
{if(q.front==q.rear)return OK;else return ERROR;
}
int Locate(LinkQueue q,int x)
{int n=1;QNode*p=q.front->next;while(p&&p->data.num!=x){p=p->next;n++;}if(p==NULL)return 0;else return n;
}
void Show(LinkQueue q,int n)
{if(q.front==q.rear)return ;QNode*p=q.front->next;int i=1;cout<<setw(10)<<"病历号"<<setw(10)<<"姓名"<<endl;while(i<=n){cout<<setw(10)<<p->data.num<<setw(10)<<p->data.name<<endl;p=p->next;i++; }
}
int Length(LinkQueue q)
{QNode*p=q.front;int count=0;while(p!=q.rear){p=p->next;count++;}return count;
}
//app.h文件
#ifndef_opeator_h
#define_opearor_h
typedef struct//患者信息结构体
{int num;char name[20];
} DataType;
#include"linkqueue.h"
void Waiting(LinkQueue &q);
void Treatment(LinkQueue &q);
void Search_Wait(LinkQueue q);
void Searh_Treatment(LinkQueue q);
void Work(LinkQueue &q);
void Menu();
#endif
//app.cpp文件
#include"app.h"
void Waiting(LinkQueue &q)
{DataType x;cout<<"请输入候诊病人信息:"<<endl;cout<<"病历号:";cin>>x.num;cout<<"姓名:";cin>>x.name;In_Queue(q,e);
}
void Treatment(LinkQueue &q)
{DataType x;if(Out_Queue(q,x)==ERROR){ cout<<"无等候就诊的病人!"<<endl;reurn ; }cout<<"当前就诊病人信息:"<<endl;cout<<setw(10)<<"病历号"<<setw(10)<<"姓名"<<endl;cout<<setw(10)<<x.num<<setw(10)<<x.name<<endl;
}
void Search_Wait(LinkQueue q)
{int x,n;cout<<"请输入查询病人病历号:"<<endl;cin>>x;n=Locate(q,x);if(n==0)cout<<"不存在该病人!"<<endl;else if(n==1)cout<<"您就是下一位就诊的病人!"<<endl;else{cout<<"该病人前还有"<<n-1<<"个人在等待!"<<endl;cout<<"等待的病人信息:"<<endl;Show(q,n-1); }
}
void Search_Treatment(LinkQueue q)
{if(Empty_Queue(q)==1)cout<<"无病人等候!"<<endl;elsecout<<"共有"<<Length(q)<<"个病人在候诊!"<<endl;
}
void Work(LinkQueue &q)
{Init_Queue(q);cout<<"准备工作已完成!"<<endl;
}
void Menu()
{LinkQueue q;bool flag=false;system("cls");int ch;do{cout<<"********************************************"<<endl;cout<<"                                            "<<endl;cout<<"             医院候诊管理系统               "<<endl;cout<<"                                            "<<endl;cout<<"      1.上班                 2.候诊         "<<endl;cout<<"      3.就诊                 4.查询候诊情况 "<<endl;cout<<"      5.查询就诊情况         0.下班         "<<endl;cout<<"                                            "<<endl;cout<<"********************************************"<<endl;}cout<<"请输入选项:";cin>>ch;switch(ch){case 1:{Work(q);flag=ture;break;}case 2:{if(flag=false)cout<<"未上班!"<<endl;elseWaiting(q);break; }case 3:{if(flag=false)cout<<"未上班!"<<endl;else Treatment(q);break;}case 4:{if(flag=false)cout<<"未上班!"<<endl;else Search_Wait(q);break;}case 5:{if(flag=false)cout<<"未上班!"<<endl;else Search_Treatment(q);break;}case 0:{return ;default:cout<<"数据输入不合法,请重新输入!"<<endl;}system("pause");system("cls"); }while(ch!=0);cout<<"\n欢迎再次使用本系统!"<<endl;
}
//main.cpp文件
#include"app.h"
int main()
{Menu();return 0;
} 

医院就诊系统-C语言相关推荐

  1. 医院就诊系统(C++队列)源代码

    新手上路,注意车速,多多指教,共同进步 #include #include #include<stdlib.h> #include<stdio.h> using namespa ...

  2. 医院挂号系统c语言yan,C语言版医院管理系统

    本文实例为大家分享了C语言实现医院管理系统的具体代码,供大家参考,具体内容如下 #include "stdio.h" #include "string.h" # ...

  3. c语言课程设计作业医院挂号系统,C语言课程设计报告--医院专家门诊挂号系统.doc...

    华中科技大学计算机科学与技术学院 <C语言程序设计>课程设计 实验报告 题目: 医院专家门诊挂号系统 专业: 计算机科学与技术 班级: 计算机XXX班 学号: XXXX 姓名: XXX 成 ...

  4. 基于JAVA+SpringMVC+Mybatis+MYSQL的医院就诊系统

    项目功能: 系统包括用户网上挂号,挂号查询,网上退号,就诊查询,管理员登录,管理员就诊信息查询,用户管理,科室管理,药品管理,检查项目,个人信息管理,医生登录,医生诊治,就诊者管理,个人信息管理等功能 ...

  5. Java医院就诊挂号系统

    程序员的成长之路 互联网/程序员/技术/资料共享 关注 阅读本文大概需要 13 分钟. 来自:https://blog.csdn.net/weixin_44893902/article/details ...

  6. 计算机毕业设计Java医院就诊预约(系统+源码+mysql数据库+Lw文档)

    计算机毕业设计Java医院就诊预约(系统+源码+mysql数据库+Lw文档) 计算机毕业设计Java医院就诊预约(系统+源码+mysql数据库+Lw文档) 本源码技术栈: 项目架构:B/S架构 开发语 ...

  7. 基于SSM的医院挂号就诊系统

    随着计算机科技的快速发展,很多地方都实现了自动化管理,医院也不例外.在大多数医院,无论是挂号处,还是取药的窗口,都会看到有很长的队伍,很显然这样会让患者就医的过程中浪费太多的时间.其次,对于那些年长的 ...

  8. 计算机毕业设计之SSM的医院挂号就诊系统

    随着计算机科技的快速发展,很多地方都实现了自动化管理,医院也不例外.在大多数医院,无论是挂号处,还是取药的窗口,都会看到有很长的队伍,很显然这样会让患者就医的过程中浪费太多的时间.其次,对于那些年长的 ...

  9. 基于Java+JSP+MySQL基于SSM的医院挂号就诊系统——计算机毕业设计

    随着计算机科技的快速发展,很多地方都实现了自动化管理,医院也不例外.在大多数医院,无论是挂号处,还是取药的窗口,都会看到有很长的队伍,很显然这样会让患者就医的过程中浪费太多的时间.其次,对于那些年长的 ...

最新文章

  1. java中Class.forName与new
  2. 液冷模块是什么?有什么作用与意义?
  3. Windows保护模式学习笔记(十三)—— PWTPCD
  4. 图片和input不对齐_pdf到png再到mp4短视频:不需要工具,2个指令1键搞定
  5. C语言应用笔记:C语言typedef关键字及其使用
  6. 神经网络与深度学习——TensorFlow2.0实战(笔记)(二)(Anaconda软件使用)
  7. java tostring 库_java重寫toString()方法
  8. HDU-2332 机器人的舞蹈 递推
  9. window.location.href如何多次请求_何为幂等?如何设计?
  10. 矩阵乘法 算法训练 试题_ALS算法实现用户对音乐评分的预测
  11. 【Android】PA4D_CH6 使用Internat资源
  12. Latex 中cite的使用
  13. [转载] Python3 open()函数
  14. 数学魔鬼表达式——第三天
  15. 清华大学计算机与科学系张荷花简历,清华大学软件学院
  16. json 格式字符串
  17. 使用uiautomatorviewer报错Error obtaining UI hierarchy
  18. Phodit:打造智能的 Markdown 编辑器
  19. 【blob】blob视频的一种下载办法 m3u8
  20. C55X McBSP

热门文章

  1. 通过UserAgent判断是手机访问还是PC访问
  2. 华为mate7android5.1,『独家首发』基于最新Android5.1版本 Mate7 EMUI3.1轻度体验报告...
  3. python期末考试题目及答案_Python语言基础答案试题题目及答案,期末考试题库,章节测验答案...
  4. WV.21-大数阶乘算法1-序
  5. CNN中为什么普遍使用小卷积核
  6. tesseract-ocr+java实现图片文字识别
  7. 主流视频会议租用产品对比
  8. ushort mysql_FreeSql 新的八大骚功能,.NETCore 你必须晓得的 ORM
  9. 可视化拖拽组件库一些技术要点原理分析(二)
  10. 【tio-websocket】3、tio-websocket-server实现任何地方都能对用户发送消息