请各位看一看 ,这个图

超市管理系统,有没有会的老哥,要全套方法以及讲解。有意的请和我联系,有偿

img


中午写了好大会儿,代码如下:

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

#define N  1000

typedef struct goods {
    int num;       // 编号
    char name[20]; // 名称
    float purprice;// 进价
    float selprice;// 售价
    int selnum ;   // 日销售量
    int repnum;    // 库存
    char producer[20]; // 生产者
}GOODS;

int n;
GOODS goods[N];

// 菜单
void menu(void) {
    printf("请选择系统功能项:\n");
    printf("(1)添加商品\n");
    printf("(2)查询商品\n");
    printf("(3)对商品数据排序\n");
    printf("(4)删除商品\n");
    printf("(5)修改商品\n");
    printf("(6)日销售盈利分析\n");
    printf("(7)输出商品信息表\n");
    printf("(8)保存到文件\n");
}
// 输出单个商品信息
void printgoods(GOODS g) {
    printf("编号 名称 进价 售价 日销售量 库存 生产者\n");
    printf("%d %s %.2f %.2f %d %d %s\n", g.num, g.name, g.purprice, g.selprice, g.selnum, g.repnum, g.producer);
}
// (7)输出商品信息表
void printallgoods(void) {
    printf("========== 商品信息表 ==========\n");
    printf("编号 名称 进价 售价 日销售量 库存 生产者\n");
    for (int i = 0; i < n; i++) {
        
        GOODS g = goods[i];
        printf("%d %s %.2f %.2f %d %d %s\n", g.num, g.name, g.purprice, g.selprice, g.selnum, g.repnum, g.producer);
    }
}
// (1)添加商品
void insertdata(void) {
    printf("========== 添加商品 ==========\n");
    printf("请输入商品信息(编号 名称 进价 售价 日销售量 库存 生产者)\n");
    GOODS g;
    scanf("%d %s %f %f %d %d %s", &g.num, g.name, &g.purprice, &g.selprice, &g.selnum, &g.repnum, g.producer);
    goods[n] = g;
    n++;
}
// 通过编号查询
GOODS selectbynum(int num) {
    for (int i = 0; i < n; i++) {
        GOODS g = goods[i];
        if (g.num == num) {
            return g;
        }
    }
    GOODS g;
    g.num = -1;
    return g;
}
// 通过名称查询
GOODS selectbyname(char name[20]) {
    for (int i = 0; i < n; i++) {
        GOODS g = goods[i];
        if (strcmp(g.name, name) == 0) {
            return g;
        }
    }
    GOODS g;
    g.num = -1;
    return g;
}
// (2)查询商品
void selectdata(void) {
    printf("========== 查询商品 ==========\n");
    int f = 1;
    while (f) {
        printf("请输入操作选项:\n");
        printf("(1)通过编号查找商品\n");
        printf("(2)通过名称查找商品\n");
        int op;
        scanf("%d", &op);
        switch (op) {
            case 1:
            {
                printf("请输入商品编号:");
                int num;
                scanf("%d", &num);
                GOODS g = selectbynum(num);
                if (g.num == -1) {
                    printf("未查到该商品,继续查找请输入:1\n");
                    int o;
                    scanf("%d", &o);
                    if (o != 1) {
                        f = 0;
                    }
                } else {
                    printgoods(g);
                    f = 0;
                }
            }
                break;;
            case 2:
            {
                printf("请输入商品名称:");
                char name[20];
                scanf("%s", name);
                GOODS g = selectbyname(name);
                if (g.num == -1) {
                    printf("未查到该商品,继续查找请输入:1\n");
                    int o;
                    scanf("%d", &o);
                    if (o != 1) {
                        f = 0;
                    }
                } else {
                    printgoods(g);
                    f = 0;
                }
            }
                break;
            default:
            {
                printf("请正确输入选项~\n");
            }
                break;
        }
    }
}
// (3)商品排序
void sortdata(void) {
    printf("========== 商品排序 ==========\n");
    while (1) {
        printf("请输入操作选项:\n");
        printf("(1)按销售价降序\n");
        printf("(2)按日销售量降序\n");
        int op;
        scanf("%d", &op);
        if (op != 1 && op != 2) {
            printf("请正确输入选项~\n");
            continue;
        }
        for (int i = 0; i < n - 1; i++) {
            for (int j = i + 1; j < n; j++) {
                if (op == 1) {
                    if (goods[i].selprice < goods[j].selprice) {
                        GOODS temp = goods[i];
                        goods[i] = goods[j];
                        goods[j] = temp;
                    }
                } else if (op == 2) {
                    if (goods[i].selnum < goods[j].selnum) {
                        GOODS temp = goods[i];
                        goods[i] = goods[j];
                        goods[j] = temp;
                    }
                }
            }
        }
        printf("排序完成~~\n");
        break;
    }
}
// (4)删除商品
void deletedata(void) {
    printf("========== 删除商品 ==========\n");
    while (1) {
        printf("请输入商品编号:");
        int num;
        scanf("%d", &num);
        int i;
        for (i = 0; i < n; i++) {
            if (goods[i].num == num) {
                break;
            }
        }
        if (i < n) {
            for (; i < n - 1; i++) {
                goods[i] = goods[i+1];
            }
            n--;
            printf("删除成功~~\n");
            break;
        }
        printf("未查到该商品,继续查找请输入:1\n");
        int o;
        scanf("%d", &o);
        if (o != 1) {
            break;
        }
    }
}
// (5)修改商品
void updatedata(void) {
    printf("========== 修改商品 ==========\n");
    while (1) {
        printf("请输入商品编号:");
        int num;
        scanf("%d", &num);
        int i;
        for (i = 0; i < n; i++) {
            if (goods[i].num == num) {
                printf("请重新输入商品信息(编号 名称 进价 售价 日销售量 库存 生产者)\n");
                GOODS ng;
                scanf("%d %s %f %f %d %d %s", &ng.num, ng.name, &ng.purprice, &ng.selprice, &ng.selnum, &ng.repnum, ng.producer);
                goods[i] = ng;
                printf("修改成功~~\n");
                return;
            }
        }
        if (i == n) {
            
            printf("未查到该商品,继续查找请输入:1\n");
            int o;
            scanf("%d", &o);
            if (o != 1) {
                
                break;
            }
        }
    }
}
// (6)日销售盈利分析
void gain(void) {
    printf("========== 日销售盈利分析 ==========\n");
    float totalsel = 0;
    for (int i = 0; i < n; i++) {
        GOODS g = goods[i];
        totalsel += g.selnum * (g.selprice - g.purprice);
    }
    printf("日销售盈利:%.2f\n", totalsel);
}
// (8)保存到文件
void save(void) {
    FILE *pf;
    pf = fopen("supermarket.txt", "w");
    if (pf != NULL) {
        
        for (int i = 0; i < n; i++) {
            GOODS g = goods[i];
            fprintf(pf, "%d %s %f %f %d %d %s\n", g.num, g.name, g.purprice, g.selprice, g.selnum, g.repnum, g.producer);
        }
        fclose(pf);
    } else {
        printf("supermarket.txt is not exist!\n");
    }
}

int main(int argc, const char * argv[]) {
    n = 0;
    char pwd[20];
    while (1) {
        printf("请输入密码:\n");
        scanf("%s", pwd);
        // 如果有校验可以在次校验
        
        printf("密码正确,欢迎进入系统!\n");
        break;
    }
    while (1) {
        menu();
        int o;
        scanf("%d", &o);
        switch (o) {
            case 1:
            {
                insertdata();
            }
                break;
            case 2:
            {
                selectdata();
            }
                break;
            case 3:
            {
                sortdata();
            }
                break;
            case 4:
            {
                deletedata();
            }
                break;
            case 5:
            {
                updatedata();
            }
                break;
            case 6:
            {
                gain();
            }
                break;
            case 7:
            {
                printallgoods();
            }
                break;
            case 8:
            {
                save();
            }
                break;
            default:
            {
                printf("请正确输入选项~\n");
            }
                break;
        }
    }
    return 0;
}

如有帮助,还望采纳~

用C#还是java,在电脑端还是android端你要说清楚,而且你这个属于量身定做,这个工作量有点大啊

https://blog.csdn.net/qq_62199249/article/details/121986389
https://blog.csdn.net/qq_51596715/article/details/115446040
https://blog.csdn.net/bingongzi/article/details/85757881
这些可以参考。

这是要做毕业设计吗?

同学是哪个班的,你很会解决问题,发一下你的学号给你加学分