使用c语言编写程序:药品管理系统实现1添加模块2删除模块3查询模块4修改模块5浏览模块6排序模块7退出模块

时间: 2023-07-13 20:22:28 浏览: 42
好的,药品管理系统的实现如下所示: ```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; } ``` 这个程序实现了药品管理系统的基本功能,可以通过数字选择不同的操作。程序中使用结构体来表示药品,通过数组来存储药品列表。每个操作都对应一个函数,其中包括添加、删除、查询、修改、浏览和排序功能。

最新推荐

recommend-type

C语言使用openSSL库AES模块实现加密功能详解

主要介绍了C语言使用openSSL库AES模块实现加密功能,详细分析了C语言加密的相关概念、原理及AES模块加密具体实现技巧,需要的朋友可以参考下
recommend-type

C语言使用openSSL库DES模块实现加密功能详解

主要介绍了C语言使用openSSL库DES模块实现加密功能,简单讲解了DES加密的相关概念,并结合实例形式分析了DES加密的具体实现技巧,需要的朋友可以参考下
recommend-type

红外接收、发射模块代码

红外发射模块:电源3.3V或5V,通过发射管发射38KHz的红外信号,高电平驱动。 红外接收模块:电源3.3V或5V,可接收红外信号,并解调成逻辑电平,低电平有效。
recommend-type

C语言程序设计实现区号查询系统C语言程序设计实现

用C语言编程的区号查询系统,要求实现区号查询系统中,添加新记录、删除记录、显示记录信息、按城市查找信息和退出系统等功能。 ①录入有关城市的名称和区号。 ②显示所有城市的信息。 ③通过输入城市名称查找对应...
recommend-type

80C51单片机C语言常用模块子程序

我们大学四年要用到的所有80C51单片机的常用模块子程序(都是C语言的哦,我们学校就流行C语言啊,因为汇编的难啊,应该理解的),这里有数码管显示模块、流水灯、监控程序、键盘显示、音频控制模块等。下面由我来先...
recommend-type

zigbee-cluster-library-specification

最新的zigbee-cluster-library-specification说明文档。
recommend-type

管理建模和仿真的文件

管理Boualem Benatallah引用此版本:布阿利姆·贝纳塔拉。管理建模和仿真。约瑟夫-傅立叶大学-格勒诺布尔第一大学,1996年。法语。NNT:电话:00345357HAL ID:电话:00345357https://theses.hal.science/tel-003453572008年12月9日提交HAL是一个多学科的开放存取档案馆,用于存放和传播科学研究论文,无论它们是否被公开。论文可以来自法国或国外的教学和研究机构,也可以来自公共或私人研究中心。L’archive ouverte pluridisciplinaire
recommend-type

实现实时数据湖架构:Kafka与Hive集成

![实现实时数据湖架构:Kafka与Hive集成](https://img-blog.csdnimg.cn/img_convert/10eb2e6972b3b6086286fc64c0b3ee41.jpeg) # 1. 实时数据湖架构概述** 实时数据湖是一种现代数据管理架构,它允许企业以低延迟的方式收集、存储和处理大量数据。与传统数据仓库不同,实时数据湖不依赖于预先定义的模式,而是采用灵活的架构,可以处理各种数据类型和格式。这种架构为企业提供了以下优势: - **实时洞察:**实时数据湖允许企业访问最新的数据,从而做出更明智的决策。 - **数据民主化:**实时数据湖使各种利益相关者都可
recommend-type

用 Python 画一个可以动的爱心

好的,我可以帮助您使用Python来绘制一个动态的爱心。您可以使用turtle库来实现。以下是实现代码: ```python import turtle import math # 设置画布和画笔 canvas = turtle.Screen() canvas.bgcolor("black") pencil = turtle.Turtle() pencil.speed(0) pencil.color("red", "pink") pencil.pensize(3) # 定义爱心函数 def draw_love(heart_size, x_offset=0, y_offset=0):
recommend-type

JSBSim Reference Manual

JSBSim参考手册,其中包含JSBSim简介,JSBSim配置文件xml的编写语法,编程手册以及一些应用实例等。其中有部分内容还没有写完,估计有生之年很难看到完整版了,但是内容还是很有参考价值的。