C语言药品信息管理系统浏览模块代码
时间: 2023-08-10 07:08:57 浏览: 44
由于药品信息管理系统的具体实现涉及到数据库设计和文件操作等内容,因此代码会比较复杂,我也无法给出完整的代码。但是,我可以给你提供一个参考,帮助你理解浏览模块的实现思路。
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_DRUGS 1000 // 最大药品数量
// 药品结构体
typedef struct {
char name[50]; // 药品名称
char type[20]; // 药品类别
char spec[50]; // 药品规格
float price; // 药品价格
char manufacturer[50]; // 药品生产厂家
char indications[100]; // 药品适应症
char usage[100]; // 药品用法用量
} drug;
// 从文件中读取药品信息
int read_drugs(drug drugs[], int max_drugs) {
FILE* fp;
int count = 0;
fp = fopen("drugs.txt", "r");
if (fp == NULL) {
printf("Failed to open file drugs.txt.\n");
return 0;
}
while (count < max_drugs && fscanf(fp, "%s %s %s %f %s %s %s", drugs[count].name, drugs[count].type,
drugs[count].spec, &drugs[count].price, drugs[count].manufacturer, drugs[count].indications,
drugs[count].usage) == 7) {
count++;
}
fclose(fp);
return count;
}
// 显示药品列表
void show_drug_list(drug drugs[], int count) {
int i;
printf(" 名称\t\t类别\t\t规格\t\t价格\t\t生产厂家\n");
for (i = 0; i < count; i++) {
printf("%d. %-15s\t%-15s\t%-15s\t%-10.2f\t%-20s\n", i + 1, drugs[i].name, drugs[i].type,
drugs[i].spec, drugs[i].price, drugs[i].manufacturer);
}
}
// 显示药品详情
void show_drug_detail(drug drugs[], int index) {
printf("\n名称:\t\t%s\n", drugs[index].name);
printf("类别:\t\t%s\n", drugs[index].type);
printf("规格:\t\t%s\n", drugs[index].spec);
printf("价格:\t\t%.2f\n", drugs[index].price);
printf("生产厂家:\t%s\n", drugs[index].manufacturer);
printf("适应症:\t\t%s\n", drugs[index].indications);
printf("用法用量:\t%s\n", drugs[index].usage);
}
int main() {
drug drugs[MAX_DRUGS];
int count, choice, index;
// 读取药品信息
count = read_drugs(drugs, MAX_DRUGS);
// 显示菜单
printf("请选择需要浏览的药品信息:\n");
printf("1. 所有药品\n");
printf("2. 中成药\n");
printf("3. 西药\n");
printf("4. 中药材\n");
printf("5. 退出\n");
// 处理用户选择
do {
printf("请输入选项:");
scanf("%d", &choice);
switch (choice) {
case 1:
show_drug_list(drugs, count);
printf("请选择药品编号查看详情(输入0返回菜单):");
scanf("%d", &index);
if (index > 0 && index <= count) {
show_drug_detail(drugs, index - 1);
}
break;
case 2:
// 按中成药浏览
break;
case 3:
// 按西药浏览
break;
case 4:
// 按中药材浏览
break;
case 5:
printf("谢谢使用!\n");
break;
default:
printf("无效选项,请重新输入!\n");
break;
}
} while (choice != 5);
return 0;
}
```
这段代码实现了药品信息管理系统的浏览功能,包括从文件中读取药品信息、显示药品列表、显示药品详情等操作。在具体实现过程中,需要根据具体需求进行修改和完善。