用C++代码写一个医院信息管理系统
时间: 2023-12-06 11:44:48 浏览: 58
以下是一个简单的医院信息管理系统的C++代码示例,包括了添加、删除和查询功能:
```c++
#include <iostream>
#include <string>
#include <vector>
using namespace std;
// 定义医生结构体
struct Doctor {
int id;
string name;
string department;
};
// 定义病人结构体
struct Patient {
int id;
string name;
string gender;
int age;
string disease;
vector<int> doctorIds; // 该病人的医生id列表
};
// 医院信息管理系统类
class HospitalManager {
public:
// 添加医生
void addDoctor(string name, string department) {
Doctor doctor = { ++doctorId, name, department };
doctors.push_back(doctor);
cout << "添加医生成功,id为:" << doctor.id << endl;
}
// 删除医生
void deleteDoctor(int id) {
for (vector<Doctor>::iterator it = doctors.begin(); it != doctors.end(); it++) {
if (it->id == id) {
doctors.erase(it);
cout << "删除医生成功,id为:" << id << endl;
return;
}
}
cout << "没有找到该医生,id为:" << id << endl;
}
// 添加病人
void addPatient(string name, string gender, int age, string disease, vector<int> doctorIds) {
Patient patient = { ++patientId, name, gender, age, disease, doctorIds };
patients.push_back(patient);
cout << "添加病人成功,id为:" << patient.id << endl;
}
// 删除病人
void deletePatient(int id) {
for (vector<Patient>::iterator it = patients.begin(); it != patients.end(); it++) {
if (it->id == id) {
patients.erase(it);
cout << "删除病人成功,id为:" << id << endl;
return;
}
}
cout << "没有找到该病人,id为:" << id << endl;
}
// 查询医生信息
void queryDoctor(int id) {
for (vector<Doctor>::iterator it = doctors.begin(); it != doctors.end(); it++) {
if (it->id == id) {
cout << "医生id:" << it->id << ",姓名:" << it->name
<< ",科室:" << it->department << endl;
return;
}
}
cout << "没有找到该医生,id为:" << id << endl;
}
// 查询病人信息
void queryPatient(int id) {
for (vector<Patient>::iterator it = patients.begin(); it != patients.end(); it++) {
if (it->id == id) {
cout << "病人id:" << it->id << ",姓名:" << it->name
<< ",性别:" << it->gender << ",年龄:" << it->age
<< ",疾病:" << it->disease << ",医生id列表:";
for (vector<int>::iterator it2 = it->doctorIds.begin(); it2 != it->doctorIds.end(); it2++) {
cout << *it2 << " ";
}
cout << endl;
return;
}
}
cout << "没有找到该病人,id为:" << id << endl;
}
private:
int doctorId = 0; // 医生id自增长
int patientId = 0; // 病人id自增长
vector<Doctor> doctors; // 医生列表
vector<Patient> patients; // 病人列表
};
// 测试
int main() {
HospitalManager manager;
// 添加医生
manager.addDoctor("张三", "内科");
manager.addDoctor("李四", "外科");
manager.addDoctor("王五", "儿科");
// 查询医生信息
manager.queryDoctor(1);
manager.queryDoctor(4);
// 删除医生
manager.deleteDoctor(2);
manager.deleteDoctor(5);
// 添加病人
vector<int> doctorIds = { 1, 3 };
manager.addPatient("小明", "男", 10, "感冒", doctorIds);
manager.addPatient("小红", "女", 20, "发烧", doctorIds);
// 查询病人信息
manager.queryPatient(1);
manager.queryPatient(4);
// 删除病人
manager.deletePatient(2);
manager.deletePatient(5);
return 0;
}
```
以上代码只是一个简单的示例,实际的医院信息管理系统需要更完善的功能和更复杂的数据结构来支持。