C语言代码写大药房药品信息管理系统,管理员用户登录页面,药品的增删改查
时间: 2023-08-18 17:37:21 浏览: 70
好的,我可以为您提供一个简单的C语言代码实现,包括管理员用户登录页面和药品的增删改查操作。以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
// 定义药品结构体
struct Medicine {
char name[20];
char code[10];
char type[10];
float price;
char desc[50];
};
// 定义全局变量,存储药品信息
struct Medicine medicines[100];
int medicine_count = 0;
// 定义登录函数
int login() {
char username[20];
char password[20];
printf("请输入用户名:");
scanf("%s", username);
printf("请输入密码:");
scanf("%s", password);
if (strcmp(username, "admin") == 0 && strcmp(password, "123456") == 0) {
return 1; // 登录成功
}
return 0; // 登录失败
}
// 定义添加药品函数
void add_medicine() {
struct Medicine medicine;
printf("请输入药品名称:");
scanf("%s", medicine.name);
printf("请输入药品编码:");
scanf("%s", medicine.code);
printf("请输入药品类型:");
scanf("%s", medicine.type);
printf("请输入药品价格:");
scanf("%f", &medicine.price);
printf("请输入药品描述:");
scanf("%s", medicine.desc);
medicines[medicine_count++] = medicine; // 存储药品信息
printf("药品添加成功!\n");
}
// 定义删除药品函数
void delete_medicine() {
char code[10];
printf("请输入要删除的药品编码:");
scanf("%s", code);
int i;
for (i = 0; i < medicine_count; i++) {
if (strcmp(medicines[i].code, code) == 0) {
// 找到要删除的药品,将其后面的药品往前移动一个位置
int j;
for (j = i; j < medicine_count - 1; j++) {
medicines[j] = medicines[j + 1];
}
medicine_count--; // 药品数量减一
printf("药品删除成功!\n");
return;
}
}
printf("未找到该药品!\n");
}
// 定义修改药品函数
void modify_medicine() {
char code[10];
printf("请输入要修改的药品编码:");
scanf("%s", code);
int i;
for (i = 0; i < medicine_count; i++) {
if (strcmp(medicines[i].code, code) == 0) {
// 找到要修改的药品,进行修改操作
printf("请输入新的药品名称(原名称:%s):", medicines[i].name);
scanf("%s", medicines[i].name);
printf("请输入新的药品类型(原类型:%s):", medicines[i].type);
scanf("%s", medicines[i].type);
printf("请输入新的药品价格(原价格:%.2f):", medicines[i].price);
scanf("%f", &medicines[i].price);
printf("请输入新的药品描述(原描述:%s):", medicines[i].desc);
scanf("%s", medicines[i].desc);
printf("药品修改成功!\n");
return;
}
}
printf("未找到该药品!\n");
}
// 定义查询药品函数
void query_medicine() {
char keyword[20];
printf("请输入要查询的关键词:");
scanf("%s", keyword);
int i;
for (i = 0; i < medicine_count; i++) {
if (strstr(medicines[i].name, keyword) != NULL || strstr(medicines[i].type, keyword) != NULL) {
// 找到匹配的药品,输出信息
printf("药品名称:%s,药品编码:%s,药品类型:%s,药品价格:%.2f,药品描述:%s\n",
medicines[i].name, medicines[i].code, medicines[i].type, medicines[i].price, medicines[i].desc);
}
}
}
// 定义主函数
int main() {
int choice;
while (1) {
printf("欢迎使用大药房药品信息管理系统!\n");
printf("请先登录:\n");
if (login()) {
break;
}
printf("登录失败,请重试!\n");
}
while (1) {
printf("请选择操作:\n");
printf("1. 添加药品\n");
printf("2. 删除药品\n");
printf("3. 修改药品\n");
printf("4. 查询药品\n");
printf("5. 退出系统\n");
printf("请输入操作编号:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_medicine();
break;
case 2:
delete_medicine();
break;
case 3:
modify_medicine();
break;
case 4:
query_medicine();
break;
case 5:
printf("谢谢使用大药房药品信息管理系统!\n");
return 0;
default:
printf("无效的操作!\n");
break;
}
}
return 0;
}
```
以上代码仅供参考,具体实现还需要根据具体需求进行调整和完善。