新手初入 2021-06-04 07:45 采纳率: 33.3%
浏览 27

C语言问题,药品删除部分怎么写,求详解

药店药品库存管理系统可以用来存储某药店药品的库存信息,每种药的信息包括:药名、

生产厂家、生产日期、过期日期、库存量、进价、卖出价等。1.添加药品信息

2.删除指定药品信息(可按药名)

3.查找指定药品信息

4.修改指定药品信息

5.按类显示药品信息(如:按感冒类、胃肠类、皮肤类、消炎药类等,需要建立二级菜单)

6.显示库存接近0的药品信息

7.退出

要求:

1.需要结构体,用来表示药品的基本信息。

用文件的保存、加载函数。

2.主要的函数:结构体的初始化函数,药品信息的增、删、改、查、显示、退出、清除函数,

3.main函数:按步骤调用主要的函数,主要需要一个选择语句switch,进行各种操作的选择。

4.需要对关键语句或函数加注释。

  • 写回答

1条回答 默认 最新

  • 追cium 2023-03-17 13:37
    关注

    参考GPT和自己的思路:

    针对您的问题,我可以给您一些详细的建议,希望能够帮到您:

    1. 删除指定药品信息

    在C语言中,要删除指定药品信息,需要先找到该药品在文件中的位置,然后将其删除。具体实现方法有多种,以下是其中一种可能的实现方式:

    (1)读取文件中的所有药品信息,存储到一个结构体数组中。

    (2)根据用户输入的药品名称,在结构体数组中查找该药品的位置。

    (3)如果找到,则将该药品从结构体数组中删除。

    (4)如果未找到,则提示用户没有该药品信息。

    (5)将更新后的结构体数组写回到文件中,完成删除操作。

    需要注意的是,在删除药品信息之前,需要确保该药品没有被其他药品依赖,即在其他药品信息中未使用该药品的名称或编号等。否则,删除操作可能导致数据不一致或程序出错。

    1. 实现文件的保存和加载函数

    为了能够将药品信息保存到文件中,并能够在需要时重新加载,需要实现文件的保存和加载函数。一般地,可以用C标准库中的fopen、fread、fwrite、fclose等函数来完成文件操作。

    具体的实现方法如下:

    (1)定义一个全局的文件指针变量,用于指向要操作的文件。

    (2)通过fopen函数打开要操作的文件,返回一个指向该文件的文件指针。

    (3)根据文件操作的类型(读取或写入),使用fread或fwrite函数读取或写入数据到文件中。

    (4)在读写完成后,使用fclose函数关闭文件,释放资源。

    注:在进行文件操作时,需要确保文件的存在和权限,以及文件指针指向正确。若文件不存在,可以使用fopen函数的“w”模式来创建新的空文件。若文件已经存在,则打开时应该使用“a”模式来向文件中追加数据。

    1. 主要函数的实现

    主要函数包括结构体的初始化函数、药品信息的增删改查函数、显示函数、退出函数和清除函数。

    (1)结构体的初始化函数:可以定义一个create函数,根据用户提供的药品信息,动态分配结构体内存空间,返回初始化后的结构体指针。

    (2)药品信息的增加函数:可以定义一个add函数,根据用户提供的药品信息,创建一个新的结构体,将其加入到结构体数组中。

    (3)药品信息的修改函数:可以定义一个update函数,根据用户提供的药品名称或编号,查找结构体数组中对应的结构体,修改其内容。

    (4)药品信息的查找函数:根据用户提供的药品名称或编号,查找结构体数组中对应的结构体,返回其内容。

    (5)药品信息的删除函数:可以使用前面提到的删除指定药品信息的方法,实现对结构体数组中指定药品的删除。

    (6)显示函数:可以定义一个display函数,用于按照用户要求显示指定类别或全部药品信息。

    (7)退出函数:可以调用exit函数或者return语句实现。

    (8)清除函数:可以定义一个clear函数,用于释放结构体数组和文件指针等动态分配的内存空间。

    1. 主函数

    主函数应该是一个选择语句,根据用户的选择调用相应的函数。可以使用while循环来重复执行,直到用户选择退出操作。

    注:在编写代码过程中,需要对关键语句和函数加上注释,方便自己和其他人理解和维护代码。同时,还需要注意错误处理和异常情况的处理,使用合适的日志记录和提示消息,保证程序能够正确运行并友好地提示用户。

    评论

报告相同问题?