酷代码 AI
菜单
全部AI  /  热门  /  AI写代码神器
服务商

病人候诊系统是为患者提供挂号和叫号的管理系统。患者挂号后,候诊时应按照挂号的先后顺序排队,先挂号的先就诊。就诊后,将患者从队列中删除。后来挂号的则插入队列中。具体包括以下内容: 1.初始化诊室:选择菜单1进行初始化诊室,对三个科室进行初始化:1.内科、2.外科、3.急诊; 2.挂号功能:选择菜单2进行挂号,输入姓名、年龄和性别,选择要挂号的诊室,自动生成就诊号码(从1开始),并将病人在挂号诊室排队; 3.叫号功能:选择菜单3进行叫号,输入要叫号的诊室后,显示“××诊室,××患者马上到诊室就诊!”,并将其从挂号队列中出队; 4.查看未就诊情况:选择菜单4,列出所有诊室未就诊患者的姓名。用数据结构c++实现上面语句

以下是一个基于C++的简单病人候诊系统实现,它涵盖了您所描述的功能。为了简化代码,我使用了标准模板库(STL)中的队列(queue)来管理患者队列。 ```cpp #include <iostream> #include <queue> #include <string> #include <unordered_map> #include <vector> using namespace std; // 患者结构体 struct Patient { string name; int age; string gender; int registrationNumber; }; // 诊室结构体,包含患者队列 struct Clinic { string name; queue<Patient> patientQueue; int currentNumber = 0; // 当前就诊号码 }; // 初始化诊室 void initializeClinics(unordered_map<int, Clinic>& clinics) { clinics[1] = Clinic{"内科"}; clinics[2] = Clinic{"外科"}; clinics[3] = Clinic{"急诊"}; } // 挂号功能 void registerPatient(unordered_map<int, Clinic>& clinics) { string name, gender; int age, clinicNumber; cout << "输入姓名: "; cin >> name; cout << "输入年龄: "; cin >> age; cout << "输入性别: "; cin >> gender; cout << "选择诊室 (1: 内科, 2: 外科, 3: 急诊): "; cin >> clinicNumber; Clinic& clinic = clinics[clinicNumber]; clinic.patientQueue.push(Patient{name, age, gender, ++clinic.currentNumber}); cout << "挂号成功,就诊号码: " << clinic.currentNumber << endl; } // 叫号功能 void callPatient(unordered_map<int, Clinic>& clinics) { int clinicNumber; cout << "选择叫号的诊室 (1: 内科, 2: 外科, 3: 急诊): "; cin >> clinicNumber; Clinic& clinic = clinics[clinicNumber]; if (!clinic.patientQueue.empty()) { Patient patient = clinic.patientQueue.front(); clinic.patientQueue.pop(); cout << clinic.name << "," << patient.name << "患者马上到诊室就诊!" << endl; } else { cout << clinic.name << "当前没有患者等待就诊。" << endl; } } // 查看未就诊情况 void viewWaitingPatients(const unordered_map<int, Clinic>& clinics) { for (const auto& [clinicNumber, clinic] : clinics) { cout << clinic.name << " 未就诊患者:" << endl; queue<Patient> tempQueue = clinic.patientQueue; // 复制队列以避免修改原始队列 while (!tempQueue.empty()) { Patient patient = tempQueue.front(); tempQueue.pop(); cout << "姓名: " << patient.name << endl; } cout << endl; } } // 显示菜单 void showMenu() { cout << "1. 初始化诊室" << endl; cout << "2. 挂号" << endl; cout << "3. 叫号" << endl; cout << "4. 查看未就诊情况" << endl; cout << "5. 退出" << endl; } int main() { unordered_map<int, Clinic> clinics; int choice; do { showMenu(); cout << "选择操作: "; cin >> choice; switch (choice) { case 1: initializeClinics(clinics); break; case 2: registerPatient(clinics); break; case 3: callPatient(clinics); break; case 4: viewWaitingPatients(clinics); break; case 5: cout << "退出系统。" << endl; break; default: cout << "无效选择,请重新输入。" << endl; } } while (choice != 5); return 0; } ``` 说明: 1. 数据结构:使用`unordered_map`来存储诊室信息,其中键是诊室编号,值是`Clinic`结构体实例。每个`Clinic`结构体包含一个患者 [2024-10-27 23:24:51 | AI写代码神器 | 1019点数解答]

实用工具查看更多
【推广】99元上云[开发类] [开发类]
阿里云99元2核2G服务器/年,199元2核4G服务器随心买。
5000人使用进入
[开发类] 在线随机密码生成器[开发类]
生成随机密码,同时返回MD5、Base64、二进制和16进制格式。
100万人使用进入
[开发类] Jquery在线手册[开发类]
能迅速查询各类Jquery方法的详细使用说明与示例代码,适合新手探索Jquery的基础操作,也适合经验丰富的开发者进行复杂功能的实现,极大提升开发效率与质量。
20万人使用进入
[开发类] Linux在线手册[开发类]
linux系统各个命令的详细解释和示例
15万人使用进入
[生活类] 今日油价[生活类]
全国各省油价,实时更新。
1000万人使用进入
[学习类] 英语单词速记[学习类]
可进行单词速记、听音填词、生词本练习,提升英语单词学习效率。
5万人使用进入
法定退休年龄计算器[生活类] [生活类]
直连人力资源和社会保障政务服务平台的法定退休年龄计算器。
1000万人使用进入
[开发类] IntelliJ IDEA下载地址[开发类]
IntelliJ IDEA正版极速下载。
200万人使用进入
热门AI查看更多
“AI写代码神器”擅长各种语言编程、解释代码、注解补充。 在这里填写你的问题。如:写出java冒泡排序算法。
一个入口掌握所有。 在这输入任何问题,或者要AI输出的内容。
AI生成新闻评论。 在这里填入新闻内容。
AI生成内容摘要。 在此处填入需要生成摘要的内容,还可以输入4000字。
AI生成主持词,擅长团建、年会、婚礼、节日等场合的主持词编写。 在这里填入主持场景,如:运动会
AI快速生成周报、月报、日报、年终总结等各类总结报告。 在这里简单输入工作目标、指标、成果,没有任何格式或特殊需求。如:计划年销售业绩1000万,实际完成800万。
将阿拉伯数字转为人明币大写,如:数字1000转换为壹仟。
AI生成爆文标题,能够快速创作出极具吸引力的标题,促使短视频、自媒体文章的点击率与阅读量迅猛攀升。 此处填写一个原始标题,如:一般人怎样打理自身的社交圈?
极速在线生成证件照
极速更换证件照红、蓝、白底色
相关提问