数据结构:编写病人看病模拟程序(C/C 艹)
来源:互联网 发布:怎样删除淘宝上的地址 编辑:程序博客网 时间:2024/04/28 09:43
目的:掌握队列的算法设计。
内容:(1)编写一个程序exp2-9.cpp,反映病人到医院排队看医生的情况。在病人排队过程中候诊.
(2)护士从等待队列中国取出下一位病人的病历,该病人进入诊室就诊。
#include<stdio.h>#include<stdlib.h>typedef struct pnode //节点结构体{int medNum;struct pnode* next;} PatNode;typedef struct //链队结点结构体{PatNode* front;PatNode* rear;} QuNode;void line_up (QuNode*&q) //排队函数{PatNode*p;p=(PatNode*)malloc(sizeof(PatNode));printf(" 请输入排队病人病历号:");scanf("%d",&p->medNum);p->next=NULL;if(q->rear==NULL)q->front=q->rear=p;else{q->rear->next=p;q->rear=p;}}void doctor (QuNode*&q) //就诊函数{PatNode*t;if(q->front==NULL){printf(" 当前没有病人排队!\n");return ;}t=q->front;printf(" 请病历号为%d的患者就诊\n",t->medNum);if(q->front==q->rear)q->front=q->rear=NULL;elseq->front=q->front->next;free(t);}void see_line(QuNode*&q) //查看排队{int num=1;PatNode*p=(PatNode*)malloc(sizeof(PatNode));if(p==NULL){printf(" 当前没有病人排队\n");return ;}for(p=q->front;p!=NULL;p=p->next){printf(" 第%d位病人病历号:%d\n",num,p->medNum);num++;}}void no_line(QuNode*&q) //不再排队(输出所有排队的病历号){PatNode*p=(PatNode*)malloc(sizeof(PatNode)),*s;p=q->front;while(p!=NULL){s=p;p=p->next;printf(" 请病历号为%d的患者就诊\n",s->medNum);free(s);}q->front=q->rear=NULL;}void menu(){printf(" ┏━━━━━━━━┓\n");printf(" ┃ 菜单 ┃\n");printf(" ┠┄┄┄┄┄┄┄┄┨\n");printf(" ┠输入1:排队 ┃\n");printf(" ┠输入2:就诊 ┃\n");printf(" ┠输入3:查看排队 ┃\n");printf(" ┠输入4:不再排队 ┃\n");printf(" ┠输入5:下班 ┃\n");printf(" ┗━━━━━━━━┛\n\n");}void main(){menu();int T=0,option; //辅助变量T,输入的选项序号optionQuNode*q=(QuNode*)malloc(sizeof(QuNode));q->front=q->rear=NULL;for(;;){printf("请输入选项序号: ");scanf("%d",&option);switch(option){ case 1:line_up(q);break;case 2:doctor(q);break;case 3:see_line(q);break;case 4:no_line(q); //题目要求输入4后剩下所有患者就诊,并且结束程序,∴执行完4后继续执行5case 5: //选项5只要求了T=1;break;default:printf("选项序号输入错误,请重新输入!\n");}if(T)break;}printf("程序运行结束!\n");}
阅读全文
0 0
- 数据结构:编写病人看病模拟程序(C/C 艹)
- 病人看病模拟程序
- 队列 ----病人看病的模拟程序
- 编写一个程序,反映病人到医院看病,排队,看医生的情况。
- 采用循环队列或链队列实现病人看病的模拟程序
- 第七周项目五C/C++数据结构实践——排队看病模拟(队列)
- 停车场的模拟管理(数据结构 C++)
- Javascript数据结构算法之队列(舞伴分配,基数排序,模拟优先就诊病人)
- emacs编写C程序
- C语言程序编写
- C语言程序编写
- C#--编写旅行社程序
- 【C#】程序编写规范
- Linux 编写C程序
- 数据结构实践——排队看病模拟
- 数据结构C语言模拟试题
- 编写优质嵌入式C程序(转)
- 海明码生成模拟程序(c)
- oracle学习笔记 字符集正确设置及相关操作
- Java基础总结
- KDTree简单理解
- ClickOnce 发布WinForm应用程序(非签名方式)
- XRecyclerView使用
- 数据结构:编写病人看病模拟程序(C/C 艹)
- Python os.SEEK_SETs 代码实例
- Ubuntu16.04 terminate called after throwing an instance of 'std::logic_error'
- 实验四 Linux系统管理
- Ubuntu16.04 安装Boost与Opencv及CMakeLists.txt配置
- Python入门(3)
- 实验二 栈和队列——顺序栈、顺序队列
- Python中的socket网络编程(TCP/IP,UDP)讲解
- 处理图片缩放遇到的问题