第七周--排队看病模拟

(附源码)SSM医院就诊预约管理JAVA计算机毕业设计项目 项目运行环境配置:Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。项目技术:SSM + mybatis + Maven + Vue 等等组成,B/S模式 + Maven管理等等。环境需要1.运行环境:最好是java jdk 1.8,我们在这个平台上运行的。其他版本理论上也可以。2.IDE环境:IDEA,Eclipse,Myeclipse都可以。 阅读详情
/*
 *Copyright (c) 2015 烟台大学计算机与控制工程学院
 *All right reserved.
 *标题:数据结构实践——排队看病模拟
 *作者:杨珺
 *date:2015年10月13日
 *版本:V1.0.1
 *操作系统:XP
 *运行环境:VC6.0
 *问题描述:编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事:
        (1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。
        (2)护士从等待队列中取出下一位病人的病历,该病人进入诊室就诊。
         要求模拟病人等待就诊这一过程。程序采用菜单方式,其选项及功能说明如下:
        (1)排队——输入排队病人的病历号,加入到病人排队队列中。
        (2)就诊——病人排队队列中最前面的病人就诊,并将其从队列中删除。
        (3)查看排队——从队首到队尾列出所有的排队病人的病历号。
        (4)不再排队,余下顺序就诊——从队首到队尾列出所有的排队病人的病历号,并退出运行。
        (5)下班——退出运行,提示未就诊的病人明天再来。
*/
#include <stdio.h>
#include <malloc.h>
typedef struct qnode
{
    int data;
    struct qnode *next;
} QNode;            /*链队结点类型*/

typedef struct
{
    QNode *front,*rear;
} QuType;           /*链队类型*/

void SeeDoctor()
{
    int sel,flag=1,find,no;
    QuType *qu;
    QNode *p;
    QNode *q;
    qu=(QuType *)malloc(sizeof(QuType));    /*创建空队*/
    qu->front=qu->rear=NULL;
    while (flag==1)                             /*循环执行*/
    {
        printf("1:排队 2:就诊 3:查看排队 4.不再排队,余下依次就诊 5:下班  请选择:");
        scanf("%d",&sel);
        switch(sel)
        {
        case 1:
            printf("  >>输入病历号:");
            do
            {
                scanf("%d",&no);
                find=0;
                p=qu->front;
                while (p!=NULL && !find)
                {
                    if (p->data==no)
                        find=1;
                    else
                        p=p->next;
                }
                if (find)
                    printf("  >>输入的病历号重复,重新输入:");
            }
            while (find==1);
            p=(QNode *)malloc(sizeof(QNode));   /*创建结点*/
            p->data=no;
            p->next=NULL;
            if (qu->rear==NULL)                 /*第一个病人排队*/
            {
                qu->front=qu->rear=p;
            }
            else
            {
                qu->rear->next=p;
                qu->rear=p; /*将*p结点入队*/
            }
            break;
        case 2:
            if (qu->front==NULL)                /*队空*/
                printf("  >>没有排队的病人!\n");
            else                                /*队不空*/
            {
                p=qu->front;
                printf("  >>病人%d就诊\n",p->data);
                if (qu->rear==p)            /*只有一个病人排队的情况*/
                {
                    qu->front=qu->rear=NULL;
                }
                else
                    qu->front=p->next;
                free(p);
            }
            break;
        case 3:
            if (qu->front==NULL)            /*队空*/
                printf("  >>没有排列的病人!\n");
            else                            /*队不空*/
            {
                p=qu->front;
                printf("  >>排队病人:");
                while (p!=NULL)
                {
                    printf("%d ",p->data);
                    p=p->next;
                }
                printf("\n");
            }
            break;
        case 4:
            if (qu->front==NULL)            /*队空*/
                printf("  >>没有排列的病人!\n");
            else                            /*队不空*/
            {
                p=qu->front;
                printf("  >>病人按以下顺序就诊:");
                while (p!=NULL)
                {
                    printf("%d ",p->data);
                    p=p->next;
                }
                printf("\n");
            }
            flag=0;                         /*退出*/
            break;
        case 5:
            if (qu->front!=NULL)            /*队不空*/
                printf("  >>请排队的病人明天就医!\n");
            flag=0;                     /*退出*/
            break;
        }
    }
    p=qu->front;  //销毁队列
    while (p!=NULL)
    {
        q = p->next;
        free(p);
        p = q;
    }
}

int main()
{
    SeeDoctor();
    return 0;
}

运行结果:


知识总结:

       排队看病需要考虑的情况很多,运用case语句一一列举。

第七周项目5排队看病模拟 问题及描述: /*  *Copyright(c++)2015,烟台大学计算机与控制工程学院  *All rights reserved,  *文件名称:test.cpp  *作    者:程梦莹  *完成日期:2015年10月14日  *版本号:v1.0    编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事:     (1 阅读详情

相关推荐

第七周项目5——排队看病模拟

问题: /* Copyright (c)2016,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:项目4.cbp 作 者:陈晨 完成日期:2016年10月9日 版 本 号:v1.0 问题描述: 编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事:   (1)病人到达诊室,将病历本交给护士,排到等待队列

chenchen0808的博客 467

【OpenJudge】病人排队

描述 病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序: 老年人(年龄 >= 60岁)比非老年人优先看病。 老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。 非老年人按登记的先后顺序看病。 输入 第1行,输入一个小于100的正整数,表示病人的个数; 后面按照病人登记的先后顺序,每行输入一个病人的信息,包括:一个长度小于10的字符串表示病人的ID(每个病...

lzx's blog 1690

第七周项目5—排队看病模拟

问题: /* Copyright (c)2015,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:项目5.cbp 作    者:李艺 完成日期:2015年10月26日 版 本 号:v1.0 问题描述: 编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事:       (1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。

李艺 608

病人排队

题目描述 病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序: 1.老年人(年龄 >= 60岁)比非老年人优先看病。 2.老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。 3.非老年人按登记的先后顺序看病。 【输入】 第1行,输入一个小于100的正整数,表示病人的个数; 后面按照病人登记的先后顺序,每行输入一个病人的信息,包括:一个长度小于10的字符串表示病人的ID(每个病人的ID各不相同且只含数字和字母),一个整数表示病人的年龄,中间用单个空格隔开。 【输出】 按

于楷力,浦江人也。牛!成绩优异,字迹端正,天资聪颖,积极上进…… 1537

第七周项目五 - 排队看病模拟

【项目五 - 排队看病模拟】 问题描述: 编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事:         (1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。            (2)护士从等待队列中取出下一位病人的病历,该病人进入诊室就诊。           要求模拟病人等待就诊这一过程。程序采用菜单方式,其选项及功能说明如下:  

qq_39945464的博客 438

模拟病人排队看病实验程序代码

模拟冰儿你排队看病的实验代码,是数据结构实验中的重要一节,本代码已经编程实现可保证正确

3.病人排队

病人登记看病,编写一个程序,将登记的病人按照以下原则排出看病的先后顺序:老年人(年龄 >= 60岁)比非老年人优先看病。老年人按年龄从大到小的顺序看病,年龄相同的按登记的先后顺序排序。非老年人按登记的先后顺序看病。

scoutee的博客 668

银行排队叫号系统性能分析

为解决好营业网点客户排队秩序混乱问题,银行和生产厂家联合推出了自动排队机,维持客户排队秩序。其程序是:客户进门首先通过排队机索要顺序号,然后客户可以在银行网点设立的客户休息区休息等待,由柜台前的显示屏自动通知客户到相应的柜台办理业务。

第七周上机实践—项目5—排队看病模拟

/* *Copyright(c) 2015,烟台大学计算机学院 *All rights reserved. *文件名称:test.cpp *作者:林莉 *完成日期:2015年10月16日 *版本:v1.0 * *问题描述:编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事:   (1)病人到达诊室,将病历本交给护士,排到等待队列

Lin1287的博客 618

用队列模拟病人去医院看病的程序

采用链式队列模拟病人去医院看病的过程,附有菜单功能,

AWS RDS 介绍 三)创建 RDS 实例

AWS RDS 介绍 共分为 7 个部分, 其中 第 3部分重点介绍,如何创建一个RDS 实例。 三) AWS RDS 试用MySQL http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/CHAP_GettingStarted.CreatingConnecting.MySQL.

XuYongshi02的专栏 7646

第七周 模拟排队看病

/* * Copyright (c) 2015, 烟台大学计算机与控制工程学院 * All rights reserved. * 文件名称:main.cpp * 作者:于东林 * 完成日期:2015年11月2日 * 版本号:vc++6.0 * * 问题描述: 编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事: *(1)病人到达诊室

ydl197791的博客 465

十一、学生信息管理系统(PyQt5+MySQL+PyMySQL模块实现)

学生信息管理系统(PyQt5+MySQL+PyMySQL模块实现)

ungoing的博客 8991

第七周 项目5-排队看病模拟

/* 文件名称:main.cpp 作者       :王超 完成日期:2015年10月14 日 问题描述:排队看病模拟 */ #include #include typedef struct qnode {     int data;     struct qnode *next; } QNode;            /*链队结点类型*/

Esther1012的博客 637

西门子PLC新手必看:200SMART与1200/1500的MODBUS RTU通讯实战(附完整配置流程)

本文详细解析了西门子PLC中S7-200 SMART与S7-1200/1500之间实现MODBUS RTU通讯的完整实战流程。内容涵盖硬件接线、软件配置及程序编写,重点讲解了200SMART作为从站、1200/1500作为主站的典型架构,并提供了关键功能块的使用方法和常见问题排查技巧,帮助新手快速打通不同系列PLC间的数据交换。

weixin_29214559的博客 398

开源生成式推荐框架MiniOneRec实践:从SID构建到RL微调全解析

在推荐系统领域,从协同过滤到深度学习,核心目标始终是精准预测用户兴趣。其技术原理经历了从矩阵分解到深度神经网络的演进,旨在从海量用户行为数据中挖掘复杂模式。随着大语言模型(LLM)的兴起,生成式推荐作为一种新兴范式,将推荐问题重构为序列生成任务,展现出更强的泛化能力和端到端优化潜力,尤其适合处理动态、多模态的推荐场景。本文聚焦于首个完全开源的生成式推荐框架MiniOneRec,它通过引入语义商品ID(SID)解决物品离散化难题,并采用监督微调(SFT)与强化学习(RL)结合的完整训练流程,为工程师和研究者提

weixin_42573647的博客 534

第七周 项目5 排队看病模拟

问题及描述: /* 烟台大学计控学院 作 者:白晓娟 完成日期:2016.10.08 问题描述:编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事:   (1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。   (2)护士从等待队列中取出下一位病人的病历,该病人进入诊室

S1E2L3的博客 419

Apifox CLI + Claude Skills:将接口自动化测试融入ai

基于 Apifox CLI、Claude Code以及Claude Skills组合,实现自然语言触发接口自动化测试。

wwz_0012的博客 599

第七周 项目五 排队看病模拟

/*Copyright(c)2016,烟台大学计算机学院 *All right reserved. *文件名称:看病.cpp *作者:李潇 *完成日期;2016年10月9日 *版本号;v1.0 * *问题描述: 编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事: (1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。 (2

sdlixiao6的博客 434

【制作100个unity游戏之22】3DRPG游戏开发07——其他详细的设计

我们会有有很多单例,如果每个单例都去写会很麻烦,所以我们定义泛型单例模式 Singleton,我们将所有的单例都继承这个泛型单例,就省略很多重复的工作定义一个GameManager类,继承Singleton,控制整个游戏的进度,比如如果主角死了,广播,游戏结束调用。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 2577

【100%通过率】2023华为od机试C卷【电脑病毒感染】C语言 实现

一个局域网内有很多台电脑,分别标注为 0 ~ N-1 的数字。相连接的电脑距离不一样,所以感染时间不一样,感染时间用t 表示。其中网络内一台电脑被病毒感染,求其感染网络内所有的电脑最少需要多长时间。如果最后有电脑不会感染,则返回-1.

MISAYAONE的博客 1043

第七周 项目五 排队看病模拟

问题描述及代码:/* *烟台大学计控学院 *作 者:王力源 *完成日期:2016年10月13日 *问题描述:编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事:   (1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。   (2)护士从等待队列中取出下一位病人的病历,该病人进入诊室就诊。   要求模拟病人等待

wly16885885的博客 445

【AI智能体】Dify集成 Echarts实现数据报表展示实战详解

Dify集成 Echarts 实现智能数据报表集成与展示实战详解

congge 5962

第七周项目五~~排队看病模拟

#include #include typedef struct qnode { int data; struct qnode *next; } QNode; /*链队结点类型*/ typedef struct { QNode *front,*rear; } QuType; /*链队类型*/ voi

lihao66886的博客 626

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

【第七周项目5】排队看病模拟

/* Copyright (c)2017,烟台大学计算机与控制工程学院 All rights reserved. 文件名称:23.cbp 作 者:尚文哲 完成日期:2017年10月16日 问题描述: 编写一个程序,反映病人到医院看病,排队看医生的情况。在病人排队过程中,主要重复两件事:   (1)病人到达诊室,将病历本交给护士,排到等待队列中候诊。

swzzz的博客 317

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

上一篇: 第七周---队列数组
下一篇: 第七周--停车场模拟
杨珺
博客等级 码龄11年 31粉丝 82原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值