校园超市商品信息管理系统

本文介绍了一个校园超市商品信息管理系统,系统采用C语言编写,支持商品信息的录入、删除、修改、查询、销售及统计等功能。商品信息包括编号、名称、厂家等,系统能按编号排序并存储,提供多种查找方式,如按编号、名称或厂家。此外,系统还能跟踪销售情况,预警库存不足和商品即将过期的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

  • 一、问题描述
    本系统主要实现超市商品信息的管理,管理者可以将超市商品的信息的录入到系统中,
    如果有需要,还可以后序继续添加商品信息、删除商品信息、修改商品信息,并且可以显示
    出所有的商品信息。有多种查找商品信息的方式,可以按商品编号、商品名称、商品的生产
    厂家去查找商品信息。销售完商品之后,把销售信息录入系统中,可以查看当月的销售情况,
    还可以查看商品是否需要补货以及商品是否快要过期。很好的帮助管理者管理超市商品的信
    息。
    二、功能要求
    超市商品基本信息包括:商品编号(任意两种商品的编号不可以重复)、商品名称、商品
    厂家名称、商品类型、商品进货价格、商品生产日期、商品库存数量、商品保质期。
    商品销售信息中包括:商品编号(必须在商品基本信息中查得到)、商品名称、商品销售
    价格、销售数量、销售日期。
    系统的主要功能包括:
    (1) 创建商品信息文件。
    根据提示输入商品的各项信息,按商品编号对商品信息进行排序, 并将排序后的商品
    信息存储到一个二进制文件中。
    (2) 增加商品信息。
    在原有商品信息文件的基础上增加新的商品信息,要求:增加后的商品信 息仍按编号排
    序,并继续保存至文件中。
    (3) 删除商品信息。
    提示用户输入要进行删除操作的商品编号,如果在文件中有该商品信息存在,则将该编
    号所对应的商品信息删除,否则输出提示信息,并提示用户选择是否继续进行删除操作。
    (4) 修改商品信息。
    提示用户输入要进行修改操作的商品编号,如果在文件中有该商品信息存在,则将提示
    用户输入该编号对应的要修改的选项,结果保存至原文件,并提示用户选择是否继续进行修
    改操作。
    (5) 显示所有商品信息。
    显示商品的编号,商品名称,商品生产厂商,商品类型,商品生产日期、商品保质期,
    商品进货价以及商品库存。
    (6) 查询操作
    ①按商品编号查询,输入一个编号,输出对应的商品信息。
    ②按商品名称查询,包括精确查询(输入全名)、模糊查询(输入部分名称)。
    ③按商品厂家查询,输入商品厂家名称,输出此厂家的所有商品信息。
    (7) 销售商品
    提示用户输入要进行销售操作的商品编号,如果在商品基本信息文件中有该商品信息存
    在则提示用户输入要销售的数量,检查输入数量是否大于库存数量,如果输入 数量大于库
    存数量,则让用户重新输入,然后将该编号所对应的商品库存数量减去销售数量后,再重新
    存入商品库数量中,并将相应信息写入商品销售信息,完成销售操作,否则输出提示信息,
    并提示用户选择是否继续进行销售操作。
    (8) 商品信息统计
    ①显示所有商品销售信息。
    ②统计当月各商品销售的数量和成交额。
    ③当某商品库存数量小于 20 时,进行库存警示,提示进行补货处理。
    ④计算各商品距离过期日期的天数,当天数少于 30 天的进行销售警示
代码
shop.h
#define _CRT_SECURE_NO_WARNINGS
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include<time.h>

#define MAX_NAME 20
#define MAX_KIND 20
#define MAX_ID 20
#define MAX_FACTORY 20

// 商品基本信息
typedef struct Product {
    char id[MAX_ID];  //编号
    char name[MAX_NAME]; //名称
    char factory[MAX_FACTORY]; //厂家
    char kind[MAX_KIND];//类型

    int purchase;//进货价
    int year;//生产日期
    int month;
    int day;
    int expirdate; //保质期
    int stockquantity;
    struct Product* next;
} Product;
//商品销售信息
typedef struct salepro {
    char id[MAX_ID];  //编号
    char name[MAX_NAME]; //名称
    int saleprice;//销售价格
    int salequantity; //销售数量
    int year;//销售日期
    int month;
    int day;
    struct salepro* next;
}salepro;

// 函数声明
void mainmenu();//主菜单
int submenu1(); //二级菜单1
int submenu2(); //二级菜单2
void createProduct(Product** head);//创建商品信息
void addProduct(Product** head);//添加商品信息
void displayProducts(Product* head);  //显示商品信息
void searchProductById(Product* head);//按商品编号查询
void searchProductByName(Product* head); //按商品名称精确查询
void searchProductByFactory(Product* head); //按生产厂商查询
void updateProduct(Product* head); //更新商品信息
void deleteProduct(Product** head, char id[]); //删除商品信息
void freeProducts(Product* head);//释放商品基本信息
void saveToFile(Product* head, const char* filename); //保存商品基本信息
void loadFromFile(Prod
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值