m0_63603995 2022-12-28 14:42 采纳率: 80%
浏览 107
已结题

超市管理系统包括货物管理入库出库会员管理

4、超市管理系统
1)货物管理:商品信息的入库、出库:按不同的项进行商品、顾客信息等的查找:商品
数量管理
2)会员管理:会员卡的登记、会员消费汇总、分析、积分管理等
3)促销管理:支持多种促销方式:折扣、活动、VIP卡优惠、赠送等
4)其他管理:退货管理、员工管理等

  • 写回答

3条回答 默认 最新

  • |__WhoAmI__| 2022-12-28 15:52
    关注

    货物管理功能:

    #include <stdio.h>
    #include <string.h>
    
    #define MAX_PRODUCTS 100
    
    // 定义货物信息的结构体
    typedef struct
    {
        char name[32];
        char id[32];
        float price;
        int quantity;
    } Product;
    
    // 定义货物信息的数组和货物数量的变量
    Product products[MAX_PRODUCTS];
    int numProducts = 0;
    
    // 实现货物入库的函数
    void addProduct(Product product)
    {
        // 如果货物数量已经达到了最大值,则无法添加新的货物
        if (numProducts >= MAX_PRODUCTS)
        {
            printf("无法添加新的货物,货物已满!\n");
            return;
        }
    
        // 将新的货物添加到数组中
        products[numProducts] = product;
        numProducts++;
    
        printf("成功添加货物:%s\n", product.name);
    }
    
    // 实现查找货物信息的函数
    Product *findProduct(char *nameOrId)
    {
        // 遍历所有货物信息,查找匹配的货物
        for (int i = 0; i < numProducts; i++)
        {
            Product *product = &products[i];
            if (strcmp(product->name, nameOrId) == 0 || strcmp(product->id, nameOrId) == 0)
            {
                // 如果找到了匹配的货物,则返回指针
                return product;
            }
        }
    
        // 如果没有找到匹配的货物,则返回空指针
        return NULL;
    }
    
    // 实现货物出库的函数
    void updateProduct(char *nameOrId, int quantity)
    {
        Product *product = findProduct(nameOrId);
        if (product == NULL)
        {
            printf("找不到匹配的货物!\n");
            return;
        }
    
        // 如果出库数量大于当前货物数量,则无法出库
        if (quantity > product->quantity)
        {
            printf("出库数量超过了当前货物数量!\n");
            return;
        }
    
        // 否则,修改货物数量
        product->quantity -= quantity;
        printf("成功出库货物:%s,出库数量:%d\n", product->name, quantity);
    }
    
    // 实现打印所有货物信息的函数
    void printProducts()
    {
        printf("当前货物信息如下:\n");
        for (int i = 0; i < numProducts; i++)
        {
            Product *product = &products[i];
            printf("货物名称:%s,编号:%s,价格:%.2f,数量:%d\n", product->name, product->id, product->price, product->quantity);
        }
    }
    
    // 实现货物管理的函数
    void manageProduct()
    {
        printf("进入货物管理\n");
    
        while (1)
        {
            printf("请选择操作:1.入库 2.出库 3.查找 4.打印所有 5.退出\n");
            int choice;
            scanf("%d", &choice);
    
            if (choice == 1)
            {
                // 入库
                char name[32];
                char id[32];
                float price;
                int quantity;
    
                printf("请输入货物名称:\n");
                scanf("%s", name);
                printf("请输入货物编号:\n");
                scanf("%s", id);
                printf("请输入货物价格:\n");
                scanf("%f", &price);
                printf("请输入货物数量:\n");
                scanf("%d", &quantity);
    
                Product product = {name, id, price, quantity};
                addProduct(product);
            }
            else if (choice == 2)
            {
                // 出库
                char nameOrId[32];
                int quantity;
    
                printf("请输入货物名称或编号:\n");
                scanf("%s", nameOrId);
                printf("请输入出库数量:\n");
                scanf("%d", &quantity);
                updateProduct(nameOrId, quantity);
            }
            else if (choice == 3)
            {
                // 查找
                char nameOrId[32];
    
                printf("请输入货物名称或编号:\n");
                scanf("%s", nameOrId);
    
                Product *product = findProduct(nameOrId);
                if (product == NULL)
                {
                    printf("找不到匹配的货物!\n");
                }
                else
                {
                    printf("货物名称:%s,编号:%s,价格:%.2f,数量:%d\n", product->name, product->id, product->price, product->quantity);
                }
            }
            else if (choice == 4)
            {
                // 打印所有
                printProducts();
            }
            else if (choice == 5)
            {
                // 退出
                break;
            }
            else
            {
                printf("无效的选项!\n");
            }
        }
    }
    
    int main()
    {
        manageProduct();
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 1月5日
  • 已采纳回答 12月28日
  • 创建了问题 12月28日

悬赏问题

  • ¥20 西门子S7-Graph,S7-300,梯形图
  • ¥50 用易语言http 访问不了网页
  • ¥50 safari浏览器fetch提交数据后数据丢失问题
  • ¥15 matlab不知道怎么改,求解答!!
  • ¥15 永磁直线电机的电流环pi调不出来
  • ¥15 用stata实现聚类的代码
  • ¥15 请问paddlehub能支持移动端开发吗?在Android studio上该如何部署?
  • ¥20 docker里部署springboot项目,访问不到扬声器
  • ¥15 netty整合springboot之后自动重连失效
  • ¥15 悬赏!微信开发者工具报错,求帮改