编写一个程序实现就医管理。在病人就医过程中,主要发生三件事: ⑴预检,分科室,挂号。 ⑵病人到达诊室,将病历本交给护士,排到等待队列中候诊。 ⑶护士从等待队列中取出一位病人的病历,该病人进入诊室就诊。 要求程序采用菜单方式,其选项及功能说明如下: ⑴挂号------预检,分科室,生成就诊号。 ⑵排队------输入病人的就诊号,加入到病人排队队列中。 ⑶就诊-------病人排队队列中最前面的病人就诊,并将其从队列中删除。 ⑷查看排队------从队首到队尾列出所有的排队病人的病历号。 ⑸下班---------退出运行。的概要设计
时间: 2023-08-15 16:17:05 浏览: 46
概要设计:
1. 设计一个Patient类,其中包含病人的姓名、病历号、预检结果、科室、就诊号等属性。
2. 设计一个Registration类,其中包含预检、分科室和挂号等方法,主要负责为病人生成就诊号。
3. 设计一个Clinic类,其中包含排队、就诊和查看排队等方法,主要负责管理病人的排队和就诊。
4. 在主函数中,通过菜单方式调用Registration和Clinic类的方法,实现挂号、排队、就诊和查看排队等功能。
伪代码实现:
```
class Patient {
private:
string name; // 病人姓名
string medicalRecordNo; // 病历号
string checkResult; // 预检结果
string department; // 科室
string visitNo; // 就诊号
public:
// 构造函数、get和set方法等
};
class Registration {
public:
static void register(Patient& patient); // 挂号
private:
static void check(Patient& patient); // 预检
static void assignDepartment(Patient& patient); // 分科室
static void generateVisitNo(Patient& patient); // 生成就诊号
};
class Clinic {
public:
void enqueue(Patient& patient); // 排队
void dequeue(); // 就诊
void displayQueue(); // 查看排队
private:
queue<Patient> waitingQueue; // 等待队列
};
int main() {
// 初始化病人队列和就诊号计数器等变量
// 显示菜单,根据用户输入调用Registration和Clinic类的方法
return 0;
}
```