大型医院挂号系统

这是一个大型医院挂号系统的实现,包括登记病员信息、科室与诊室管理、医师排班、紧急情况处理等功能。系统按照先来先服务原则进行排队,并提供查看医师名单、删除病人、查询病人信息、显示排队状态、统计就诊人数和挂号费用等多种操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题目: 大型医院挂号系统设计

功能:

该系统包括,登记病员信息,根据所挂科室及普通号或专家号分别按诊室对病人进行排队。每个病员按照排队次序在各自的队列中等待就诊,系统及时显示各诊室的排队情况。

科室:至少有科室:普内,普外,消化内科,心脏内科,心脏外科等

诊室:一个诊室是属于某一个科室,一个科室至少有两个诊室,一个诊室中可以有若干个医师(不少于2个不超过5个),一周内的每天出针医师可以不相同。

医师:每个医师属于某一个科室,固定在某一个诊室上班,但他们并不是每天都出诊,在一周内每个人都有自己的出诊时间,但一天每个诊室只有一名医师在岗。每个医师有自己的职称,职称不同挂号费用不同。职称与挂号费用:主任医师10元,副主任医师8元,主治医师及以下圴为5元。

病员信息:姓名、性别、年龄、家庭住址,电话。

规则:看病次序按先来先服务的原则,开始是初始分为空队。所有功能均以菜单方式展示。

(1)有新病人来,按其想要挂的科室给其分配一个诊室,或者由病人选择诊室。再按其病情紧急状况,若紧急则直接插入所挂诊室的队头。若非紧急,则正常入队尾,等待看病。

(2)可以查看所有科室的所有诊室的当日值班班医师名单

(3)若某个病人决定不再等待放弃看病,允许从队列中删除之。

(4)可以实现各种病人信息查询以及科室排序信息查询

(5)可以查询某一病人在队列中次序

(6)下班时间到,显示各科室各诊室队列中的排队人数。

(7)各科室当天就诊人数统计

(8)统计当天各科室的挂号收费情况。

(9)降序显示不同科室当天门诊病人数。

除上述功能外可以自行扩充。

#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

// 病员结构体
typedef struct Patient {
    char name[50]; // 姓名
    char gender[10]; // 性别
    int age; // 年龄
    char address[100]; // 家庭住址
    char phone[20]; // 电话
} Patient;

// 科室结构体
typedef struct Department {
    char name[50]; // 科室名称
    char rooms[5][50]; // 诊室名称
    int numRooms; // 诊室数量
    char doctors[5][50]; // 医师姓名
    char workDays[7][50]; // 工作日
    int numDoctors; // 医师数量
} Department;

// 全局变量
Patient patientQueue[10][100]; // 病人队列,最多10个科室,每个科室最多100个病人
int queueSize[10]; // 每个科室队列大小
Department departments[10]; // 科室数组,最多10个科室
int numDepartments = 0; // 科室数量

// 初始化科室信息
void initializeDepartments() {
    // 初始化科室,包括诊室和医师信息
    //strcpy(departments[numDepartments].zc, "普内");
    strcpy(departments[numDepartments].name, "普内");
    strcpy(departments[numDepartments].rooms[0], "诊室A");
    strcpy(departments[numDepartments].rooms[1], "诊室B");
    strcpy(departments[numDepartments].rooms[2], "诊室C");
    strcpy(departments[numDepartments].doctors[0], "张医生主任医师");
    strcpy(departments[numDepartments].doctors[1], "李医生主治医师");
    strcpy(departments[numDepartments].doctors[2], "王医生副主任医师");
    departments[numDepartments].numRooms = 3;
    departments[numDepartments].numDoctors = 3;
    numDepartments++;

    strcpy(departments[numDepartments].name, "内科");
    strcpy(departments[numDepartments].rooms[0], "诊室A");
    strcpy(departments[numDepartments].rooms[1], "诊室B");
    strcpy(departments[numDepartments].rooms[2], "诊室C");
    strcpy(departments[numDepartments].doctors[0], "张医生主任医师");
    strcpy(departments[numDepartments].doctors[1], "李医生主治医师");
    strcpy(departments[numDepartments].doctors[2], "王医生副主任医师");
    departments[numDepartments].numRooms = 3;
    departments[numDepartments].numDoctors = 3;
    numDepartments++;

    strcpy(departments[numDepartments].name, "消化内科");
    strcpy(departments[numDepartments].rooms[0], "诊室A");
    strcpy(departments[numDepartments].rooms[1], "诊室B");
    strcpy(departments[numDe

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值