写一个实验室设备管理系统的代码
时间: 2023-08-31 07:35:26 浏览: 95
### 回答1:
好的,以下是一个简单的实验室设备管理系统的示例代码:
```
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Equipment {
public:
Equipment(string n, int q) : name(n), quantity(q) {}
string getName() const { return name; }
int getQuantity() const { return quantity; }
void setQuantity(int q) { quantity = q; }
private:
string name;
int quantity;
};
class EquipmentManagementSystem {
public:
EquipmentManagementSystem() {}
void addEquipment(string name, int quantity) {
for (int i = 0; i < equipmentList.size(); i++) {
if (equipmentList[i].getName() == name) {
equipmentList[i].setQuantity(equipmentList[i].getQuantity() + quantity);
return;
}
}
Equipment newEquipment(name, quantity);
equipmentList.push_back(newEquipment);
}
void removeEquipment(string name, int quantity) {
for (int i = 0; i < equipmentList.size(); i++) {
if (equipmentList[i].getName() == name) {
if (equipmentList[i].getQuantity() < quantity) {
cout << "Not enough " << name << " to remove." << endl;
return;
}
equipmentList[i].setQuantity(equipmentList[i].getQuantity() - quantity);
return;
}
}
cout << name << " not found in inventory." << endl;
}
void displayInventory() const {
if (equipmentList.empty()) {
cout << "No equipment in inventory." << endl;
return;
}
cout << "Equipment Inventory:" << endl;
for (int i = 0; i < equipmentList.size(); i++) {
cout << equipmentList[i].getName() << " - " << equipmentList[i].getQuantity() << endl;
}
}
private:
vector<Equipment> equipmentList;
};
int main() {
EquipmentManagementSystem ems;
ems.addEquipment("Microscope", 5);
ems.addEquipment("Bunsen Burner", 3);
ems.addEquipment("Microscope", 2);
ems.removeEquipment("Bunsen Burner", 2);
ems.removeEquipment("Pipette", 2);
ems.displayInventory();
return 0;
}
```
这个系统包含了一个 `Equipment` 类和一个 `EquipmentManagementSystem` 类。`Equipment` 类表示一个设备对象,其中包括设备的名称和数量。`EquipmentManagementSystem` 类是设备管理系统的核心,包括添加设备、移除设备和显示库存等功能。
在 `main` 函数中,我们首先创建了一个 `EquipmentManagementSystem` 对象 `ems`,然后使用 `addEquipment` 方法向系统中添加了5台显微镜和3个燃烧器,接着使用 `addEquipment` 方法向系统中再添加2台显微镜,使用 `removeEquipment` 方法从系统中移除了2个燃烧器和2个移液管,最后使用 `displayInventory` 方法显示了当前库存中所有设备的名称和数量。
这只是一个简单的示例代码,实际的实验室设备管理系统需要根据具体需求进行设计和实现。
### 回答2:
实验室设备管理系统的代码如下:
```
#include <iostream>
#include <string>
#include <vector>
using namespace std;
class Device {
private:
string name;
string category;
int quantity;
public:
// 构造函数
Device(string name, string category, int quantity) {
this->name = name;
this->category = category;
this->quantity = quantity;
}
// 获取设备名称
string getName() {
return name;
}
// 获取设备类别
string getCategory() {
return category;
}
// 获取设备数量
int getQuantity() {
return quantity;
}
// 设置设备数量
void setQuantity(int quantity) {
this->quantity = quantity;
}
};
class LabEquipmentManagementSystem {
private:
vector<Device> devices;
public:
// 添加设备
void addDevice(Device device) {
devices.push_back(device);
}
// 根据设备名称查找设备
Device* findDeviceByName(string name) {
for (int i = 0; i < devices.size(); i++) {
if (devices[i].getName() == name) {
return &devices[i];
}
}
return nullptr;
}
// 查询设备数量
int getDeviceQuantity(string name) {
Device* device = findDeviceByName(name);
if (device != nullptr) {
return device->getQuantity();
}
return -1;
}
// 借出设备
bool borrowDevice(string name, int quantity) {
Device* device = findDeviceByName(name);
if (device != nullptr && device->getQuantity() >= quantity) {
device->setQuantity(device->getQuantity() - quantity);
return true;
}
return false;
}
// 归还设备
void returnDevice(string name, int quantity) {
Device* device = findDeviceByName(name);
if (device != nullptr) {
device->setQuantity(device->getQuantity() + quantity);
}
}
};
int main() {
LabEquipmentManagementSystem system;
// 添加设备
system.addDevice(Device("显微镜", "光学设备", 10));
system.addDevice(Device("电子天平", "实验仪器", 5));
system.addDevice(Device("离心机", "离心机械", 3));
// 借用设备
if (system.borrowDevice("显微镜", 2)) {
cout << "成功借出设备:显微镜" << endl;
} else {
cout << "借出设备失败:显微镜" << endl;
}
// 归还设备
system.returnDevice("显微镜", 1);
cout << "成功归还设备:显微镜" << endl;
// 查询设备数量
int quantity = system.getDeviceQuantity("显微镜");
if (quantity != -1) {
cout << "设备数量:显微镜 -> " << quantity << endl;
} else {
cout << "设备不存在" << endl;
}
return 0;
}
```
这是一个简单的实验室设备管理系统,通过一个`Device`类来表示设备的名称、类别和数量,然后使用`LabEquipmentManagementSystem`类作为管理系统,提供添加设备、查找设备、借用设备和归还设备等功能。在`main`函数中,创建了一个管理系统对象,通过调用相关功能来实现设备的管理和操作。
### 回答3:
实验室设备管理系统是一个用于管理实验室设备的系统,可以记录设备的基本信息、借用记录和维护信息。下面是一个简单的实验室设备管理系统的代码示例:
```
# 设备类
class Equipment:
def __init__(self, id, name, location):
self.id = id # 设备编号
self.name = name # 设备名称
self.location = location # 设备所在位置
self.borrowed_by = None # 借用人
def borrow(self, borrower):
if self.borrowed_by: # 判断设备是否已被借用
print("设备已被借用!")
else:
self.borrowed_by = borrower
print("成功借用设备!")
def return_equipment(self):
if self.borrowed_by: # 判断设备是否已被借用
self.borrowed_by = None
print("成功归还设备!")
else:
print("设备未被借用,无需归还!")
# 实验室设备管理系统
class LabEquipmentManagementSystem:
def __init__(self):
self.equipment_list = [] # 设备列表
def add_equipment(self, equipment):
self.equipment_list.append(equipment)
print("成功添加设备!")
def remove_equipment(self, equipment):
if equipment in self.equipment_list:
self.equipment_list.remove(equipment)
print("成功删除设备!")
else:
print("设备不存在!")
def borrow_equipment(self, equipment_id, borrower):
for equipment in self.equipment_list:
if equipment.id == equipment_id:
equipment.borrow(borrower)
break
else:
print("设备不存在!")
def return_equipment(self, equipment_id):
for equipment in self.equipment_list:
if equipment.id == equipment_id:
equipment.return_equipment()
break
else:
print("设备不存在!")
# 示例代码
if __name__ == "__main__":
lab_system = LabEquipmentManagementSystem()
# 添加设备
equipment1 = Equipment("001", "实验台", "A楼201")
equipment2 = Equipment("002", "显微镜", "B楼102")
lab_system.add_equipment(equipment1)
lab_system.add_equipment(equipment2)
# 借用设备
lab_system.borrow_equipment("001", "小明")
# 归还设备
lab_system.return_equipment("001")
```
以上是一个简单的实验室设备管理系统的代码示例,其中包括设备类和实验室设备管理系统类。通过调用相应的方法,可以实现设备的添加、删除、借用和归还等功能。
相关推荐
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)