用C语言写一个药店信息管理系统,包括添加,删除,修改,查询药品信息等功能
时间: 2024-03-14 22:44:15 浏览: 170
好的,下面我将为您提供一个简单的药店信息管理系统的C语言代码,包括添加、删除、修改和查询药品信息的功能,供参考:
```c
#include <stdio.h>
#include <string.h>
#define MAX_DRUG_NUM 50 // 最大药品数量
#define MAX_NAME_LEN 20 // 最大名称长度
#define MAX_SPEC_LEN 20 // 最大规格长度
// 定义药品结构体
struct Drug {
char name[MAX_NAME_LEN]; // 药品名称
char spec[MAX_SPEC_LEN]; // 药品规格
float price; // 药品单价
int quantity; // 药品数量
};
// 定义全局变量
struct Drug drugs[MAX_DRUG_NUM]; // 保存药品信息的数组
int drug_count = 0; // 当前药品数量
// 添加药品信息
void add_drug() {
// 判断药品数量是否已达到上限
if (drug_count >= MAX_DRUG_NUM) {
printf("药品数量已达到上限,无法添加新药品!\n");
return;
}
// 输入新药品信息
struct Drug new_drug;
printf("请输入药品名称:");
scanf("%s", new_drug.name);
printf("请输入药品规格:");
scanf("%s", new_drug.spec);
printf("请输入药品单价:");
scanf("%f", &new_drug.price);
printf("请输入药品数量:");
scanf("%d", &new_drug.quantity);
// 添加新药品信息到数组中
drugs[drug_count] = new_drug;
drug_count++;
printf("药品信息添加成功!\n");
}
// 删除药品信息
void delete_drug() {
// 输入要删除的药品名称
char name[MAX_NAME_LEN];
printf("请输入要删除的药品名称:");
scanf("%s", name);
// 遍历数组,查找要删除的药品信息
int found = 0;
for (int i = 0; i < drug_count; i++) {
if (strcmp(drugs[i].name, name) == 0) {
// 找到要删除的药品,将其后面的药品信息向前移动一位
for (int j = i; j < drug_count - 1; j++) {
drugs[j] = drugs[j + 1];
}
drug_count--;
found = 1;
break;
}
}
// 输出删除结果
if (found) {
printf("药品信息删除成功!\n");
} else {
printf("未找到要删除的药品信息!\n");
}
}
// 修改药品信息
void modify_drug() {
// 输入要修改的药品名称
char name[MAX_NAME_LEN];
printf("请输入要修改的药品名称:");
scanf("%s", name);
// 遍历数组,查找要修改的药品信息
int found = 0;
for (int i = 0; i < drug_count; i++) {
if (strcmp(drugs[i].name, name) == 0) {
// 找到要修改的药品,输入新的药品信息
printf("请输入新的药品名称:");
scanf("%s", drugs[i].name);
printf("请输入新的药品规格:");
scanf("%s", drugs[i].spec);
printf("请输入新的药品单价:");
scanf("%f", &drugs[i].price);
printf("请输入新的药品数量:");
scanf("%d", &drugs[i].quantity);
found = 1;
break;
}
}
// 输出修改结果
if (found) {
printf("药品信息修改成功!\n");
} else {
printf("未找到要修改的药品信息!\n");
}
}
// 查询药品信息
void query_drug() {
// 输入要查询的药品名称
char name[MAX_NAME_LEN];
printf("请输入要查询的药品名称:");
scanf("%s", name);
// 遍历数组,查找要查询的药品信息
int found = 0;
for (int i = 0; i < drug_count; i++) {
if (strcmp(drugs[i].name, name) == 0) {
// 找到要查询的药品,输出其信息
printf("药品名称:%s\n", drugs[i].name);
printf("药品规格:%s\n", drugs[i].spec);
printf("药品单价:%.2f\n", drugs[i].price);
printf("药品数量:%d\n", drugs[i].quantity);
found = 1;
break;
}
}
// 输出查询结果
if (!found) {
printf("未找到要查询的药品信息!\n");
}
}
// 主函数
int main() {
int choice;
// 显示菜单,等待用户输入选择
while (1) {
printf("\n");
printf("=======================\n");
printf("1. 添加药品信息\n");
printf("2. 删除药品信息\n");
printf("3. 修改药品信息\n");
printf("4. 查询药品信息\n");
printf("0. 退出系统\n");
printf("=======================\n");
printf("请输入操作编号:");
scanf("%d", &choice);
// 根据用户输入的选择进行相应操作
switch (choice) {
case 1:
add_drug();
break;
case 2:
delete_drug();
break;
case 3:
modify_drug();
break;
case 4:
query_drug();
break;
case 0:
printf("谢谢使用本系统,再见!\n");
return 0;
default:
printf("无效的操作编号,请重新输入!\n");
}
}
}
```
以上是一个简单的药店信息管理系统的C语言代码,包括添加、删除、修改和查询药品信息的功能。您可以根据自己的实际需求进行修改和完善。
阅读全文