医院药物管理系统是一个复杂的系统,它需要处理大量的数据和信息。在C语言中,我们可以使用数组、结构体等数据结构来存储和管理这些数据。以下是一个简单的示例,展示了如何使用C语言编程实现一个简单的医院药物管理系统:
```c
#include
#include
#include
// 定义药物结构体
typedef struct {
char name[20]; // 药物名称
int quantity; // 药物数量
float price; // 药物价格
} Drug;
// 定义药物管理类
class DrugManager {
public:
DrugManager() {
// 初始化药物列表
drugs = (Drug *)malloc(sizeof(Drug) * 10);
}
~DrugManager() {
// 释放药物列表内存
for (int i = 0; i < sizeof(drugs); i++) {
free(drugs[i].name);
free(drugs[i].quantity);
free(drugs[i].price);
}
}
// 添加药物
void addDrug(char *name, int quantity, float price) {
// 检查药物名称是否已存在
for (int i = 0; i < sizeof(drugs) / sizeof(Drug); i++) {
if (strcmp(drugs[i].name, name) == 0) {
printf("药物名称已存在,请重新输入!n");
return;
}
}
// 创建新的药物结构体
Drug newDrug = {name, quantity, price};
// 将新药物添加到列表中
drugs = realloc(drugs, sizeof(Drug) * (sizeof(drugs) + 1));
- drugs[sizeof(drugs)
- 1] = newDrug;
}
// 删除药物
void deleteDrug(char *name) {
// 查找要删除的药物
for (int i = 0; i < sizeof(drugs) / sizeof(Drug); i++) {
if (strcmp(drugs[i].name, name) == 0) {
// 释放药物结构体内存
free(drugs[i].name);
free(drugs[i].quantity);
free(drugs[i].price);
// 删除药物
- drugs = realloc(drugs, sizeof(Drug) * (sizeof(drugs)
- 1));
break;
}
}
}
// 显示所有药物
void displayDrugs() {
for (int i = 0; i < sizeof(drugs) / sizeof(Drug); i++) {
printf("药物名称:%s,数量:%d,价格:%.2fn", drugs[i].name, drugs[i].quantity, drugs[i].price);
}
}
private:
Drug *drugs; // 药物列表
};
```
这个示例中,我们定义了一个`Drug`结构体来存储药物的名称、数量和价格。然后,我们定义了一个`DrugManager`类来管理药物列表。在这个类中,我们提供了添加、删除和显示药物的方法。