使用C语言开发一个超市管理系统

项目描述

使用C语言开发的一个超市管理系统,下面使用了一个简单的菜单循环,可以让用户添加、删除、修改和查看商品库存。使用了结构体Item来表示每个商品的信息,包括名称、价格和数量,并定义了一个数组store来存储商品信息。

在添加、删除和修改商品时,程序需要从用户输入中获取商品名称、价格和数量。在删除和修改商品时,程序需要在仓库中找到相应的商品并进行相应的操作。在查看库存时,程序会列出所有商品的名称、价格和数量。

实现代码

#include <stdio.h>
#include <stdlib.h>
#include <string.h>

#define STORE_SIZE 1000

typedef struct {
    char name[50];
    float price;
    int quantity;
} Item;

int numItems = 0;
Item store[STORE_SIZE];

void menu() {
    printf("\n请选择操作:\n");
    printf("1. 添加商品\n");
    printf("2. 删除商品\n");
    printf("3. 修改商品\n");
    printf("4. 查看库存\n");
    printf("5. 退出\n");
    printf("> ");
}

void addItem() {
    if (numItems >= STORE_SIZE) {
        printf("仓库已满,无法添加商品。\n");
        return;
    }

    Item newItem;

    printf("请输入商品名称:");
    scanf("%s", newItem.name);

    printf("请输入商品价格:");
    scanf("%f", &newItem.price);

    printf("请输入商品数量:");
    scanf("%d", &newItem.quantity);

    store[numItems++] = newItem;
}

void deleteItem() {
    if (numItems == 0) {
        printf("仓库为空,无法删除商品。\n");
        return;
    }

    char name[50];
    printf("请输入要删除的商品名称:");
    scanf("%s", name);

    int found = 0;
    for (int i = 0; i < numItems; i++) {
        if (strcmp(store[i].name, name) == 0) {
            found = 1;
            for (int j = i + 1; j < numItems; j++) {
                store[j - 1] = store[j];
            }
            numItems--;
            printf("商品 %s 删除成功。\n", name);
            break;
        }
    }

    if (!found) {
        printf("未找到商品 %s。\n", name);
    }
}

void modifyItem() {
    if (numItems == 0) {
        printf("仓库为空,无法修改商品。\n");
        return;
    }

    char name[50];
    printf("请输入要修改的商品名称:");
    scanf("%s", name);

    int found = 0;
    for (int i = 0; i < numItems; i++) {
        if (strcmp(store[i].name, name) == 0) {
            found = 1;

            printf("请输入新的价格:");
            scanf("%f", &store[i].price);

            printf("请输入新的数量:");
            scanf("%d", &store[i].quantity);

            printf("商品 %s 修改成功。\n", name);
            break;
        }
    }

    if (!found) {
        printf("未找到商品 %s。\n", name);
    }
}

void viewStock() {
    if (numItems == 0) {
        printf("仓库为空。\n");
        return;
    }

    printf("\n当前库存:\n");
    printf("  %-20s %-10s %-10s\n", "名称", "价格", "数量");
    for (int i = 0; i < numItems; i++) {
        printf("%d. %-20s %-10.2f %-10d\n", i + 1, store[i].name, store[i].price, store[i].quantity);
    }
}

int main() {
    int choice;

    while (1) {
        menu();
        scanf("%d", &choice);

        switch (choice) {
            case 1:
                addItem();
                break;
            case 2:
                deleteItem();
                break;
            case 3:
                modifyItem();
                break;
            case 4:
                viewStock();
                break;
            case 5:
                printf("谢谢使用超市管理系统。\n");
                exit(0);
            default:
                printf("无效的操作,请重新选择。\n");
        }
    }

    return 0;
}

运行截图

图片[1]-使用C语言开发一个超市管理系统-QQ沐编程

© 版权声明
THE END
喜欢就支持一下吧
点赞8赞赏 分享