C++实现商品管理程序

C++实现商品管理程序攻略

程序功能概述

本程序是一个简单的商品管理系统,支持添加、删除、修改、查询商品信息等操作。每个商品的信息包括商品编号、商品名称、商品价格、商品数量、生产日期、保质期限等。

程序实现步骤

1. 创建商品类

首先需要创建一个商品类,其中包括商品编号、商品名称、商品价格、商品数量、生产日期、保质期限等属性。以下是该类的代码示例:

class Commodity {
public:
    string id;  // 商品编号
    string name;  // 商品名称
    float price;  // 商品价格
    int quantity;  // 商品数量
    string production_date;  // 生产日期
    string expiration_date;  // 保质期限

    // 构造函数
    Commodity(string _id, string _name, float _price, int _quantity, string _production_date, string _expiration_date) :
            id(_id),
            name(_name),
            price(_price),
            quantity(_quantity),
            production_date(_production_date),
            expiration_date(_expiration_date) {}

    // 输出商品信息的函数
    void print() {
        cout << id << "\t" << name << "\t" << price << "\t" << quantity << "\t" << production_date << "\t" << expiration_date << endl;
    }
};

2. 创建商品管理类

接下来需要创建商品管理类,其中包括添加商品、删除商品、修改商品以及查询商品信息等操作。以下是该类的代码示例:

class CommodityManager {
public:
    vector<Commodity> commodities;  // 存储所有商品

    // 添加商品
    void add_commodity() {
        string id, name, production_date, expiration_date;
        float price;
        int quantity;

        cout << "请输入商品编号:";
        cin >> id;
        cout << "请输入商品名称:";
        cin >> name;
        cout << "请输入商品价格:";
        cin >> price;
        cout << "请输入商品数量:";
        cin >> quantity;
        cout << "请输入生产日期:";
        cin >> production_date;
        cout << "请输入保质期限:";
        cin >> expiration_date;

        commodities.emplace_back(id, name, price, quantity, production_date, expiration_date);
    }

    // 删除商品
    void delete_commodity() {
        string id;

        cout << "请输入要删除的商品编号:";
        cin >> id;

        for (auto it = commodities.begin(); it != commodities.end(); it++) {
            if (it->id == id) {
                commodities.erase(it);
                cout << "删除成功!" << endl;
                return;
            }
        }

        cout << "未找该商品编号对应的商品!" << endl;
    }

    // 修改商品
    void modify_commodity() {
        string id;
        int modify_index;

        cout << "请输入要修改的商品编号:";
        cin >> id;

        for (auto it = commodities.begin(); it != commodities.end(); it++) {
            if (it->id == id) {
                it->print();
                cout << "请选择要修改的字段(输入数字1-6):";
                cin >> modify_index;

                switch (modify_index) {
                    case 1:
                        cout << "请输入新商品编号:";
                        cin >> it->id;
                        break;
                    case 2:
                        cout << "请输入新商品名称:";
                        cin >> it->name;
                        break;
                    case 3:
                        cout << "请输入新商品价格:";
                        cin >> it->price;
                        break;
                    case 4:
                        cout << "请输入新商品数量:";
                        cin >> it->quantity;
                        break;
                    case 5:
                        cout << "请输入新生产日期:";
                        cin >> it->production_date;
                        break;
                    case 6:
                        cout << "请输入新保质期限:";
                        cin >> it->expiration_date;
                        break;
                    default:
                        cout << "选择无效!";
                }

                cout << "修改成功!" << endl;
                return;
            }
        }

        cout << "未找该商品编号对应的商品!" << endl;
    }

    // 查询商品信息
    void query_commodity() {
        string id;

        cout << "请输入要查询的商品编号:";
        cin >> id;

        for (auto it = commodities.begin(); it != commodities.end(); it++) {
            if (it->id == id) {
                it->print();
                return;
            }
        }

        cout << "未找该商品编号对应的商品!" << endl;
    }

    // 显示所有商品信息
    void show_all_commodities() {
        cout << "商品编号\t商品名称\t商品价格\t商品数量\t生产日期\t保质期限" << endl;

        for (auto it = commodities.begin(); it != commodities.end(); it++) {
            it->print();
        }
    }
};

3. 实现主程序

最后需要编写主程序,用于测试商品管理类的各项功能。以下是主程序的代码示例:

int main() {
    CommodityManager manager;
    int choice;
    bool running = true;

    while (running) {
        cout << "请选择要进行的操作(输入数字1-5):" << endl;
        cout << "1. 添加商品" << endl;
        cout << "2. 删除商品" << endl;
        cout << "3. 修改商品" << endl;
        cout << "4. 查询商品信息" << endl;
        cout << "5. 显示所有商品信息" << endl;

        cin >> choice;

        switch (choice) {
            case 1:
                manager.add_commodity();
                break;
            case 2:
                manager.delete_commodity();
                break;
            case 3:
                manager.modify_commodity();
                break;
            case 4:
                manager.query_commodity();
                break;
            case 5:
                manager.show_all_commodities();
                break;
            default:
                cout << "选择无效!" << endl;
        }
    }

    return 0;
}

示例说明

示例1:添加商品信息

输入以下内容,可添加一条商品信息:

1
苹果
5.5
20
2022-08-01
7天

输出结果如下:

请选择要进行的操作(输入数字1-5):
1. 添加商品
2. 删除商品
3. 修改商品
4. 查询商品信息
5. 显示所有商品信息
1
请输入商品编号:1
请输入商品名称:苹果
请输入商品价格:5.5
请输入商品数量:20
请输入生产日期:2022-08-01
请输入保质期限:7天

示例2:查询商品信息

输入以下内容,可查询刚刚添加的商品信息:

4
1

输出结果如下:

请选择要进行的操作(输入数字1-5):
1. 添加商品
2. 删除商品
3. 修改商品
4. 查询商品信息
5. 显示所有商品信息
4
请输入要查询的商品编号:1
1       苹果    5.5     20      2022-08-01      7天

以上两个示例说明了如何添加、删除、修改和查询商品信息。同时,输入数字5可以显示所有新增的商品信息。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C++实现商品管理程序 - Python技术站

(0)
上一篇 2023年5月23日
下一篇 2023年5月23日

相关文章

  • 用C语言画一个圆

    下面是用C语言画圆的完整攻略。 1. 前置知识 在绘制圆形之前需要先掌握以下内容: C语言基础:掌握C语言的基本语法和操作,包括变量、运算符、分支结构、循环结构等。 数学知识:了解圆的相关数学知识,如圆的半径、直径、周长、面积等。 图形学基础:掌握画图基本原理,了解坐标系、像素、颜色等概念。同时需要了解常用的图形库,如Windows.h、OpenGL等。 2…

    C 2023年5月24日
    00
  • C语言实现万年历源码

    以下是详细的“C语言实现万年历源码”的完整攻略,包括示例说明: 1. 确定需求 首先,我们需要确定要实现一个什么样的功能,比如万年历。在确定需求后,我们需要考虑要用到哪些关键的功能模块,比如日期计算、月份输出等等。 2. 设计数据结构 在确定需要的功能模块后,我们需要设计合适的数据结构来存储相关信息,比如保存日期信息的结构体等。 3. 编写代码 在设计好数据…

    C 2023年5月23日
    00
  • Ubuntu环境下使用G++编译CPP文件

    以下是Ubuntu环境下使用G++编译CPP文件的完整攻略: 安装G++ 在Ubuntu环境下使用G++编译C++文件,首先需要安装G++编译器。可以通过以下命令进行安装: sudo apt-get update sudo apt-get install g++ 编写C++文件 在安装好G++编译器之后,可以使用任何文本编辑器编写需要编译的C++文件。例如,…

    C 2023年5月23日
    00
  • OpenSCA技术原理npm依赖示例解析

    OpenSCA技术原理npm依赖示例解析 OpenSCA是一种开放式的SOAP(简单对象访问协议)组件体系结构,可以用于构建SOA(面向服务的架构)应用程序。OpenSCA技术使用了许多依赖关系,其中包括npm依赖。下面是本文的攻略。 安装Node.js 在开始使用OpenSCA和npm依赖之前,需要安装Node.js。如果您没有安装,请前往Node.js官…

    C 2023年5月23日
    00
  • C++调用C函数实例详解

    C++调用C函数实例详解 C++调用C函数是一种常见的操作,有很多场合需要这种操作。下面详细讲解C++调用C函数的完整攻略。 1. 头文件引入 要在C++中调用C函数,首先要引入对应的C函数的头文件。例如,要调用标准库中的函数,需要在C++源文件中使用如下代码: extern "C" { #include <stdio.h> …

    C 2023年5月23日
    00
  • PHP生成及获取JSON文件的方法

    这里为你详细讲解 PHP 生成和获取 JSON 文件的方法,包括示例说明。 一、生成 JSON 文件 生成 JSON 文件非常简单,我们只需要使用 PHP 的 json_encode() 函数将数据格式化为 JSON 字符串,再将其写入到文件中即可。 // 创建 PHP 数组 $data = array( ‘name’ => ‘Tom’, ‘age’ …

    C 2023年5月23日
    00
  • C++类和对象基础详解

    C++类和对象基础详解 什么是类和对象 C++中类指的是一种自定义的数据类型,可以包含数据(成员变量)以及方法(成员函数)。对象则是根据类定义的实例。类和对象是面向对象编程的核心概念。 如何定义类 定义类的基本语法如下: class 类名 { public: //访问限定符 成员变量(属性) 成员函数(方法) }; 其中,访问限定符有三种:public、pr…

    C 2023年5月22日
    00
  • HKC疾风系列SG27C/SG27QC/SG27CPLUS三款显示器对比评测

    HKC疾风系列SG27C/SG27QC/SG27CPLUS三款显示器对比评测 简介 本文将对HKC疾风系列SG27C/SG27QC/SG27CPLUS三款显示器进行全方位评测对比,分析它们的优缺点,从而帮助广大用户更好地了解这三款产品,以便于选择合适自己的显示器。 参数对比 参数对比 SG27C SG27QC SG27CPLUS 屏幕尺寸 27英寸 27英寸…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部