4、超市管理系统
1)货物管理:商品信息的入库、出库:按不同的项进行商品、顾客信息等的查找:商品
数量管理
2)会员管理:会员卡的登记、会员消费汇总、分析、积分管理等
3)促销管理:支持多种促销方式:折扣、活动、VIP卡优惠、赠送等
4)其他管理:退货管理、员工管理等
超市管理系统包括货物管理入库出库会员管理
- 写回答
- 好问题 0 提建议
- 追加酬金
- 关注问题
- 邀请回答
-
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; }
本回答被题主选为最佳回答 , 对您是否有帮助呢?解决 无用评论 打赏 举报
悬赏问题
- ¥15 有了解d3和topogram.js库的吗?有偿请教
- ¥100 任意维数的K均值聚类
- ¥15 stamps做sbas-insar,时序沉降图怎么画
- ¥15 unity第一人称射击小游戏,有demo,在原脚本的基础上进行修改以达到要求
- ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
- ¥15 关于#Java#的问题,如何解决?
- ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算
- ¥100 嵌入式系统基于PIC16F882和热敏电阻的数字温度计
- ¥15 cmd cl 0x000007b
- ¥20 BAPI_PR_CHANGE how to add account assignment information for service line