使用c语言编写程序:药品管理系统实现1添加模块2删除模块3查询模块4修改模块5浏览模块6排序模块7退出模块
时间: 2023-07-13 15:22:28 浏览: 96
好的,药品管理系统的实现如下所示:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 定义药品结构体
typedef struct {
char name[20]; // 药品名称
char category[20]; // 药品分类
float price; // 药品价格
int stock; // 药品库存
} Medicine;
// 添加药品
void addMedicine(Medicine *medicines, int *count) {
Medicine medicine;
printf("请输入药品名称:");
scanf("%s", medicine.name);
printf("请输入药品分类:");
scanf("%s", medicine.category);
printf("请输入药品价格:");
scanf("%f", &medicine.price);
printf("请输入药品库存:");
scanf("%d", &medicine.stock);
// 将新药品加入药品列表
medicines[*count] = medicine;
(*count)++;
printf("添加成功!\n");
}
// 删除药品
void deleteMedicine(Medicine *medicines, int *count) {
char name[20];
printf("请输入要删除的药品名称:");
scanf("%s", name);
int i;
for (i = 0; i < *count; i++) {
if (strcmp(medicines[i].name, name) == 0) {
// 移动数组元素,删除药品
for (; i < *count - 1; i++) {
medicines[i] = medicines[i + 1];
}
(*count)--;
printf("删除成功!\n");
return;
}
}
printf("未找到该药品!\n");
}
// 查询药品
void queryMedicine(Medicine *medicines, int count) {
char name[20];
printf("请输入要查询的药品名称:");
scanf("%s", name);
int i;
for (i = 0; i < count; i++) {
if (strcmp(medicines[i].name, name) == 0) {
printf("药品名称:%s\n", medicines[i].name);
printf("药品分类:%s\n", medicines[i].category);
printf("药品价格:%.2f\n", medicines[i].price);
printf("药品库存:%d\n", medicines[i].stock);
return;
}
}
printf("未找到该药品!\n");
}
// 修改药品
void modifyMedicine(Medicine *medicines, int count) {
char name[20];
printf("请输入要修改的药品名称:");
scanf("%s", name);
int i;
for (i = 0; i < count; i++) {
if (strcmp(medicines[i].name, name) == 0) {
printf("请输入药品名称:");
scanf("%s", medicines[i].name);
printf("请输入药品分类:");
scanf("%s", medicines[i].category);
printf("请输入药品价格:");
scanf("%f", &medicines[i].price);
printf("请输入药品库存:");
scanf("%d", &medicines[i].stock);
printf("修改成功!\n");
return;
}
}
printf("未找到该药品!\n");
}
// 浏览药品
void browseMedicine(Medicine *medicines, int count) {
int i;
printf("药品名称\t药品分类\t药品价格\t药品库存\n");
for (i = 0; i < count; i++) {
printf("%s\t%s\t%.2f\t%d\n", medicines[i].name, medicines[i].category, medicines[i].price, medicines[i].stock);
}
}
// 排序药品
void sortMedicine(Medicine *medicines, int count) {
int i, j;
Medicine temp;
for (i = 0; i < count - 1; i++) {
for (j = 0; j < count - 1 - i; j++) {
if (strcmp(medicines[j].name, medicines[j + 1].name) > 0) {
temp = medicines[j];
medicines[j] = medicines[j + 1];
medicines[j + 1] = temp;
}
}
}
printf("排序成功!\n");
}
int main() {
Medicine medicines[50]; // 最多可管理50种药品
int count = 0; // 药品数量
int choice;
while (1) {
printf("\n请输入数字选择功能:\n");
printf("1.添加药品 2.删除药品 3.查询药品 4.修改药品 5.浏览药品 6.排序药品 7.退出系统\n");
scanf("%d", &choice);
switch (choice) {
case 1:
addMedicine(medicines, &count);
break;
case 2:
deleteMedicine(medicines, &count);
break;
case 3:
queryMedicine(medicines, count);
break;
case 4:
modifyMedicine(medicines, count);
break;
case 5:
browseMedicine(medicines, count);
break;
case 6:
sortMedicine(medicines, count);
break;
case 7:
printf("感谢使用药品管理系统!\n");
exit(0);
default:
printf("输入错误,请重新输入!\n");
break;
}
}
return 0;
}
```
这个程序实现了药品管理系统的基本功能,可以通过数字选择不同的操作。程序中使用结构体来表示药品,通过数组来存储药品列表。每个操作都对应一个函数,其中包括添加、删除、查询、修改、浏览和排序功能。
阅读全文