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++学生信息管理系统攻略 简介 本文将详细讲解如何开发一款基于 C++ 的学生信息管理系统,该系统可以实现添加学生、删除学生、修改学生信息、查询学生信息等常见的学生信息管理操作。该系统可以帮助学校、班级或老师方便地管理学生信息,提高信息管理效率。 技术方案 C++语言 C++是一种高效的面向对象编程语言,具有良好的性能和可扩展性。它是学生信息管理系统的常用…

    C 2023年5月22日
    00
  • C语言中如何进行多语言支持?

    在C语言中进行多语言支持,其主要的实现方式是通过字符串本地化来实现的。具体步骤如下: 1. 设计国际化字符串 首先,我们需要将所有需要支持的语言的字符串收集到一个字符串池中,并将它们按照关键字进行分类,这个过程被称为字符串本地化(Localization)。例如: // 中文 char *zh[] = { "你好", "世界&q…

    C 2023年4月27日
    00
  • 使用C语言编写圣诞表白程序

    下面是使用C语言编写圣诞表白程序攻略,主要分为以下几个步骤: 1. 准备环境 在本地计算机安装C语言编译器,比如常用的GCC或者Clang。 选择一个文本编辑器,比如Notepad++、Sublime Text等,来编写代码。 2. 编写代码 通过C语言编写程序代码,实现圣诞表白功能。 可以使用printf()函数实现向屏幕输出特定的字符或字符串。 可以使用…

    C 2023年5月23日
    00
  • C语言实现24点问题详解

    C语言实现24点问题详解 在解决24点问题时,主要思路是找出四个数字任意排列后,通过加、减、乘、除的算术运算,得出结果为24的表达式。 实现思路 输入四个数字,利用嵌套的for循环全排列,共有4×3×2×1 = 24种排列方式。 然后通过嵌套的for循环枚举其中的3个数字,并针对这3个数字求解所有的算术运算,共有3×2×1 = 6种组合方式(不考虑顺序)。 …

    C 2023年5月23日
    00
  • C++文件读写操作详解

    先简单介绍一下C++中文件读写操作的基本概念: C++文件读写操作是指在C++程序中对计算机中的文件进行输入和输出的操作。文件读写操作是必不可少的C++编程操作之一,在文件读写操作中我们需要用到文件指针,读写位置指针,并且需要了解文件的打开、关闭、读写、复制等基本操作。C++文件操作通常使用C++标准库中的fstream头文件实现。下面介绍一些基本操作和示例…

    C 2023年5月22日
    00
  • springboot解决java.lang.ArrayStoreException异常

    当我们在使用Spring Boot时,有时候会遇到java.lang.ArrayStoreException异常,这是因为在编译期间未正确识别数组类型,导致在运行期间出现异常。下面我将介绍如何解决这个问题的完整攻略。 1. 理解java.lang.ArrayStoreException异常是什么 java.lang.ArrayStoreException异常…

    C 2023年5月22日
    00
  • QT设计秒表功能(跑步计时器)

    下面是关于QT设计秒表功能的完整攻略: 准备工作 安装QT开发环境 打开QT Creator,新建一个Qt Widgets Application项目 实现步骤 在项目中添加两个 Label 控件,一个用于显示当前计时的时间,另一个用于显示跑步时间,并设置好它们的位置和大小。 添加两个按钮,一个用于开始/暂停计时,另一个用于清零并停止计时。 对按钮和 Lab…

    C 2023年5月22日
    00
  • C语言实现制作通讯录(新手推荐)

    介绍 制作一个简单的通讯录是C语言初学者学习的一个非常有趣的项目。本教程将为大家提供一个完整的实现过程,旨在帮助初学者全面掌握C语言编程的基本技能。 步骤 创建一个新的C语言文件。 打开你的编辑器,并创建一个新的C语言文件。保存文件,并为该文件选择一个描述性名称,例如“AddressBook.c”。 引入所需的头文件。 通常情况下,我们需要使用stdio.h…

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