超市管理系统 C++(课程设计)_c++超市管理系统

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

欢迎光临

古之立大事者不惟有超世之才亦必有坚忍不拔之志。——苏轼
---------------🍎------------🍉--------------
🐼学编程的bird的博客邀您一起学习🦌
----------------🥕------------🥭-------------

😊很高兴你打开了这篇博客。
★如有疑问不解或者说有想问的地方都可以在下方评论留言博主看到会尽快回复的。
★当然期待你的点赞+关注哦
————————————————
版权声明本文为CSDN博主「学编程的bird」的原创文章遵循CC 4.0 BY-SA版权协议转载请附上原文出处链接及本声明。
原文链接 超市管理系统 C++_学编程的小bird的博客-CSDN博客https://blog.csdn.net/m0_64069699/article/details/125065247?spm=1001.2014.3001.5502


设计内容

超市中商品分为四类分别是食品、化妆品、日用品和饮料。每种商品都包含商品名称、价格、库存量和生产厂家、品牌等信息。主要完成对商品的销售、统计和简单管理。本系统的软件界面是使用C++编译生成的一个系统操作菜单。操作菜单界面总共有七个选项可以供用户操作选择分别为购买商品、添加商品、删除商品、修改商品、查询商品、统计商品、退出系统。菜单页面下方有可供用户选择操作项目的指令当用户选择并输入0-6中的任意数字系统便会进入相应的功能操作。如果出现错误操作系统会该处输入错误请从新输入等提示或者自动跳出回到主菜单界面。


 相关功能

1销售功能。购买商品时先输入类别然后输入商品名称并在库存中查找该商品的相关信息。如果有库存量输入购买的数量进行相应计算。如果库存量不够给出提示信息结束购买。

2商品简单管理功能。

添加功能主要完成商品信息的添加。

查询功能可按商品类别、商品名称、生产厂家进行查询。若存在相应信息输出所查询的信息若不存在该记录则提示“该记录不存在”。

修改功能可根据查询结果对相应的记录进行修改。

删除功能主要完成商品信息的删除。先输入商品类别再输入要删除的商品名称根据查询结果删除该物品的记录如果该商品不在物品库中则提示“该商品不存在”。

3统计功能。

输出当前库存中所有商品的总数及详细信息可按商品的价格、库存量、生产厂家进行统计输出统计信息时要按从大到小排序。


框图

提示
1    类的设计关系
 
2    主功能函数
 

源代码

#include <iostream>
#include <fstream>
#include <string>      //头文件引入
#include <stdio.h>
#include <conio.h>

using namespace std;

class Objects  //大类
{
public:             //公共权限
    Objects()
    {
    }
    char name[20];//名字
    char kind[20];//种类
    char place[10];//生产地
    char brand[10];//品牌
    float stockprice;  //成本价
    float purchaseprice; //购买价
    int stockamount;  //存货数量
    int sellamount; //售货数量
    int money;  //花费
    
   
    Objects* Next;

    void InputAll()   //打印 名称 种类 进货价 售出价  存货数量  产地 品牌
    {
        InputName();
        InputKind();
        InputOther();
    }

    void InputKind()        //打印种类
    {
        cout << "\t\t请选择种类"; cin >> kind;
    }

    void InputName()        //打印名称
    {
        cout << "\t\t请输入商品的名称";  cin >> name;
    }

    void InputOther()       //打印  进货价 售出价  存货数量  产地 品牌
    {
        cout << "\t\t请输入进货价"; cin >> stockprice;
        cout << "\t\t请输入售出价"; cin >> purchaseprice;
        cout << "\t\t请输入存货数量"; cin >> stockamount;
        cout << "\t\t请输入商品的产地"; cin >> place;
        cout << "\t\t请输入生产商品牌"; cin >> brand;
        money = 0;
    }

    void Inputstockprice()    //打印进货价
    {
        cout << "\t\t请输入进货价"; cin >> stockprice;

    }
    void Inputpurchaseprice()    //打印售出价
    {
        cout << "\t\t请输入售出价"; cin >> purchaseprice;

    }
    void Inputstockamount() //打印商品数量
    {
        cout << "\t\t请输入剩余商品数量"; cin >> stockamount;
    }

    void InputPlace()   //打印商品产地
    {
        cout << "\t\t请输入商品产地"; cin >> place;
    }

    void Inputbrand()       //打印品牌  
    {
        cout << "\t\t请输入生产商品牌"; cin >> brand;
    }

    void ReadFile(istream& in)    //将东西存入文件
    {
        in >> name >> kind >> stockprice >> purchaseprice >> stockamount >> place >> brand ;
    }

    void Show2()            //查询和排序某一个商品时打印内容
    {
        cout << "商品名: " << name << endl << "种类:" << kind << endl << "进货价 " << stockprice << endl << "售出价 " << purchaseprice << endl << "剩余商品数量: " <<
            stockamount << endl << "商品的产地: " << place << endl << "生产商品牌: " << brand << endl << endl << endl;
    }
    void Show3()            //购买某一个商品后打印内容
    {
        cout << "商品名: " << name << endl << "种类:" << kind << endl << "售出价 " << purchaseprice << endl << "剩余商品数量: " << stockamount << endl << "生产商品牌: " <<
            brand << endl << "商品的产地: " << place << endl << endl << endl << "共计花费" << money << endl << endl << endl;
    }
};
class ObjectsInformation : public Objects            // ObjectsInformation类
{
public:                                             //公共权限
    ObjectsInformation();                           //函数声明
    ~ObjectsInformation();
    void showMenu(int n);
    void Find();
    void Save();
    void ModifyItem();
    void RemoveItem();
    void Swap(Objects*, Objects*);
    void my_Sort();
    void purchase();
    int ListCount();

    void Display()                              //统计的时候打印所有商品信息
    {
        system("cls");
        i = 0;
        for (Objects* p = Head->Next; p != End; p = p->Next)
        {
            p->Show2();
            i++;
        }
        cout << "共有" << i << "个商品" << "\n" << endl;
        cout << "输入任意字符继续……";
        _getch();
    }
    void AddItem()                      //从键盘输入商品信息
    {
        system("cls");
        End->InputName();
        showMenu(1);
        End->InputKind();
        End->InputOther();

        End->Next = new Objects;
        End = End->Next;
        cout << "添加成功!" << endl;
        Save();
        cout << "输入任意字符继续……";
        _getch();
    }
private:                                 //私有权限
    Objects* Head, * End;
    int i;
    ifstream in;    
    ofstream out;
    Objects* FindItem(char* name)           //通过名称查找商品函数
    {
        for (Objects* p = Head; p->Next != End; p = p->Next)
            if (!strcmp(p->Next->name, name))return p;
        return NULL;
    }
    Objects* Findkind(char* kind)            //通过种类查找商品函数               //匹配成功则返回上一个指针不成功就返回空
    {
        for (Objects* p = Head; p->Next != End; p = p->Next)
            if (!strcmp(p->Next->kind, kind))return p;
        return NULL;
    }
    Objects* Findbrand(char* brand)         // 通过品牌查找商品函数
    {
        for (Objects* p = Head; p->Next != End; p = p->Next)
            if (!strcmp(p->Next->brand, brand))return p;
        return NULL;
    }

};


ObjectsInformation::ObjectsInformation()                 //构造函数         用于检查是否有库存
{
    Head = new Objects;
    Head->Next = new Objects;
    End = Head->Next;
    in.open("supermarket.txt");
    if (!in)

        cout << "                                       " << endl <<
        "                                       " << endl <<
        "                                       " << endl <<
        "\t\t\t\t超市现在没有任何库存了赶紧进货吧" << endl;
    else
    {
        while (!in.eof())
        {
            End->ReadFile(in);
            if (End->name[0] == '\0')break;
            End->Next = new Objects;
            End = End->Next;
        }
        in.close();
        cout << "    " << endl;
        cout << "    " << endl;
        cout << "    " << endl;
        cout << "    " << endl;
        cout << "\t\t\t\t超市里面还有一些库存可以看看" << "\n" << endl;
    }
}
ObjectsInformation::~ObjectsInformation()                //析构函数 释放空间
{
    Save();
    for (Objects* temp; Head->Next != End;)
    {
        temp = Head->Next;
        Head->Next = Head->Next->Next;
        delete temp;
    }
    delete Head, End;
}


void ObjectsInformation::showMenu(int n)//菜单      
{
    switch (n)
    {
    case 1:
    {
        cout << "▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉\n"
            << "      1. 食品      2. 化妆品      3. 日用品      4. 饮料      \n"
            << "▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉▉\n" << endl;
        break; }
    case 2:
    {
        system("cls");
        cout << "                                  " << endl;
        cout << "                                  " << endl;
        cout << "                                  " << endl;
        cout << "                                  " << endl;
        cout << " ☆ ☆ ☆ ☆ ☆ ☆ ☆  ☆   超 市  管 理 系  统     ☆  ☆ ☆ ☆ ☆ ☆ ☆ ☆" << endl;
        cout << "                                  " << endl; cout << "                                  " << endl;
        cout << "           *************        1.增添商品        *************             " << endl;
        cout << "                                  " << endl;
        cout << "           *************        2.统计商品        *************            " << endl;
        cout << "                                  " << endl;
        cout << "           *************        3.查询商品        *************            " << endl;
        cout << "                                  " << endl;
        cout << "           *************        4.删除商品        *************            " << endl;
        cout << "                                  " << endl;
        cout << "           *************        5.修改商品        *************            " << endl;
        cout << "                                  " << endl;
        cout << "           *************        6.购买商品        *************            " << endl;
        cout << "                                  " << endl;
        cout << "           *************        0.退出系统        *************            " << endl;

        cout << "\t\t\n\t\t\t\t 请选择0-6" << endl;
        break; }
    case 3:
    {
        system("cls");
        cout << "                                  " << endl;
        cout << "                                  " << endl;

        cout << "                                  " << endl;
        cout << "           *************        1.修改种类          *************            \n ";
        cout << "                                  " << endl;
        cout << "           *************        2.修改名称          *************            \n";
        cout << "                                  " << endl;
        cout << "           *************        3.修改进货价        *************            \n";
        cout << "                                  " << endl;
        cout << "           *************        4.修改售出价        *************            \n";
        cout << "                                  " << endl;
        cout << "           *************        5.修改剩余量        *************            \n ";
        cout << "                                  " << endl;
        cout << "           *************        6.修改产地          *************            \n   ";
        cout << "                                  " << endl;
        cout << "           *************        7.修改品牌          *************            \n   ";
        cout << "                                  " << endl;
        cout << "           *************        8.修改全部信息     *************             " << endl;
        cout << "                                  " << endl;
        cout << "                                  " << endl;
        cout << "            *************        请选择0-8进行相关操作" << endl;
        break;
    }
    case 4:
    {
        system("cls");
        cout << "                                  " << endl;
        cout << "                                  " << endl;
        cout << "                                  " << endl;
        cout << "*************************************************************************************\n"
            << "\t   1. 按商品价排序            2. 按库存量排序               3. 按生产品牌排序                                   "
            << "**************************************************************************************" << endl;
        cout << "                                  " << endl;
        cout << "                                  " << endl;
        cout << "                                  " << endl;
        cout << "\t\t\n\t\t\t\t  请选择0-3" << endl;
        break;
    }
    case 5:
    {
        system("cls");
        cout << "                                  " << endl;
        cout << "                                  " << endl;
        cout << "                                  " << endl;
        cout << "*************************************************************************************\n"
            << "\t   1. 按商品名称查询            2. 按商品种类查询               3. 按商品厂家查询                               "
            << "**************************************************************************************" << endl;
        cout << "                                  " << endl;
        cout << "                                  " << endl;
        cout << "                                  " << endl;
        cout << "\t\t\n\t\t\t\t  请选择0-3" << endl;
    }
    }
}
void ObjectsInformation::Find()       //查找函数
{
    system("cls");
    char name[20], Id[10];
    int x;
    Objects* p = NULL;
    showMenu(5);
    cin >> x;
    switch (x)
    {
    case 1: {cout << "\t\t请输入要查找的商品的名称"; cin >> name;
        if (p = FindItem(name))
        {
            p->Next->Show2();
            cout << "输入任意字符继续……";
            _getch();
        }
        else
        {
            cout << "\t\t没有找到该名称的商品" << '\n' << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
    }break;
    case 2: {cout << "\t\t请输入要查找的商品的种类"; cin >> name;
        if (p = Findkind(kind))
        {
            p->Next->Show2();
            cout << "输入任意字符继续……";
            _getch();
        }
        else
        {
            cout << "\t\t没有找到该种类的商品" << '\n' << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
    }break;
    case 3: {cout << "\t\t请输入要查找的厂家的名称"; cin >> name;
        if (p = Findbrand(brand))
        {
            p->Next->Show2();
            cout << "输入任意字符继续……";
            _getch();
        }
        else
        {
            cout << "\t\t没有找到该厂家的商品" << '\n' << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
    }break;

    }
}
void ObjectsInformation::ModifyItem()         //修改商品信息
{

    showMenu(3);
    int x;
    cin >> x;
    switch (x)
    {

    case 1:
    {
        char name[20];
        Objects* p = NULL;
        cout << "\t\t请输入要修改的商品的名称:"; cin >> name;
        if (p = FindItem(name))
        {
            cout << "\t\t已找到商品的信息请输入新的信息!" << endl;
            p->Next->InputKind();
            Save();
            cout << "修改成功" << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
        else
        {
            cout << "\t\t没有找到您需要的商品!" << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
        break;
    }
    case 2:
    {
        char name[20];
        Objects* p = NULL;
        cout << "\t\t请输入要修改的商品的名称:"; cin >> name;
        if (p = FindItem(name))
        {
            cout << "\t\t已找到商品的信息请输入新的信息!" << endl;
            p->Next->InputName();
            Save();
            cout << "修改成功" << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
        else
        {
            cout << "\t\t没有找到您需要的商品!" << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
        break;
    }
    case 3:
    {
        char name[20];
        Objects* p = NULL;
        cout << "\t\t请输入要修改的商品的名称:"; cin >> name;
        if (p = FindItem(name))
        {
            cout << "\t\t已找到商品的信息请输入新的信息!" << endl;
            p->Next->Inputstockprice();
            Save();
            cout << "修改成功" << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
        else
        {
            cout << "\t\t没有找到您需要的商品!" << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
        break;
    }
    case 4:
    {
        char name[20];
        Objects* p = NULL;
        cout << "\t\t请输入要修改的商品的名称:"; cin >> name;
        if (p = FindItem(name))
        {
            cout << "\t\t已找到商品的信息请输入新的信息!" << endl;
            p->Next->Inputpurchaseprice();
            Save();
            cout << "修改成功" << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
        else
        {
            cout << "\t\t没有找到您需要的商品!" << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
        break;
    }
    case 5:
    {
        char name[20];
        Objects* p = NULL;
        cout << "\t\t请输入要修改的商品的名称:"; cin >> name;
        if (p = FindItem(name))
        {
            cout << "\t\t已找到商品的信息请输入新的信息!" << endl;
            p->Next->Inputstockamount();
            Save();
            cout << "修改成功" << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
        else
        {
            cout << "\t\t没有找到您需要的商品!" << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
        break;
    }


    case 6:
    {
        char name[20];
        Objects* p = NULL;
        cout << "\t\t请输入要修改的商品的名称:"; cin >> name;
        if (p = FindItem(name))
        {
            cout << "\t\t已找到商品的信息请输入新的信息!" << endl;
            p->Next->InputPlace();
            Save();
            cout << "修改成功" << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
        else
        {
            cout << "\t\t没有找到您需要的商品!" << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
        break;
    }
    case 7:
    {
        char name[20];
        Objects* p = NULL;
        cout << "\t\t请输入要修改的商品的名称:"; cin >> name;
        if (p = FindItem(name))
        {
            cout << "\t\t已找到商品的信息请输入新的信息!" << endl;
            p->Next->Inputbrand();
            Save();
            cout << "修改成功" << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
        else
        {
            cout << "\t\t没有找到您需要的商品!" << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
        break;
    }
    case 8:
    {
        char name[20];
        Objects* p = NULL;
        cout << "\t\t请输入要修改的商品的名称:"; cin >> name;
        if (p = FindItem(name))
        {
            cout << "\t\t已找到商品的信息请输入新的信息!" << endl;
            p->Next->InputAll();
            Save();
            cout << "修改成功" << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
        else
        {
            cout << "\t\t没有找到您需要的商品!" << endl;
            cout << "输入任意字符继续……";
            _getch();
        }
    }
    }

}
void ObjectsInformation::RemoveItem()          //删除商品信息
{
    system("cls");
    char name[20];
    Objects* p = NULL, * temp = NULL;
    
    cout << "\t\t请输入要删除的商品的名称:" << endl; cin >> name;
    if (p = FindItem(name))
    {
        temp = p->Next;
        p->Next = p->Next->Next;
        delete temp;
        cout << "\t\t删除成功!" << endl;
        Save();
        cout << "输入任意字符继续……";
        _getch();
    }
    else
    {
        cout << "\t\t没有找到您需要的商品!" << endl;
        cout << "输入任意字符继续……";
        _getch();
    }
}
void ObjectsInformation::purchase( )           //购买商品
{
    system("cls");
    char name[20]; int i;
    Objects* p = NULL;
    Objects* temp = NULL;

    cout << "\t\t请输入要购买的商品的名称和数量:"; cin >> name; cin >> i;

    if (p = FindItem(name))
    {
        if (p->Next->stockamount > i)
        {
            p->Next->stockamount -= i;
            p->Next->money += i * (p->Next->purchaseprice);
            cout << "商品购买成功!" << "\n";
            cout << "购买商品名称: " << name << "\t" << "数量: " << i << "\n";
            cout << "\n";
            cout << "购买后商品信息: " << endl;


            p->Next->Show3();  //打印购买后的信息

            Save();         //保存信息
            p->Next->money = 0;
            cout << "输入任意字符继续……";
            _getch();

        }
        else
        {
            cout << "商品数量不够不能购买" << endl;
            cout << "输入任意字符继续……";
            _getch();
            purchase();
        }

    }
    else
    {
        cout << "无此种商品不能购买" << endl;
        cout << "输入任意字符继续……";
        _getch();
        showMenu(2);
    }

}
void ObjectsInformation::Swap(Objects* p1, Objects* p2)        //交换两个商品的数据  name >> kind >> stockprice >> purchaseprice >> stockamount >> place >> brand ;
{
    Objects* temp = new Objects;
    strcpy_s(temp->name, p1->name);
    strcpy_s(temp->kind, p1->kind);
    temp->stockprice = p1->stockprice;
    temp->purchaseprice = p1->purchaseprice;
    temp->stockamount = p1->stockamount;
    strcpy_s(temp->place, p1->place);
    strcpy_s(temp->brand, p1->brand);


    strcpy_s(p1->name, p2->name);
    strcpy_s(p1->kind, p2->kind);
    strcpy_s(p1->place, p2->place);
    p1->purchaseprice = p2->purchaseprice;
    p1->stockprice = p2->stockprice;
    p1->stockamount = p2->stockamount; 
    strcpy_s(p1->brand, p2->brand);


    strcpy_s(p2->name, temp->name);
    strcpy_s(p2->kind, temp->kind);
    strcpy_s(p2->place, temp->place);
    p2->purchaseprice = temp->purchaseprice;
    p2->stockprice = temp->stockprice;
    p2->stockamount = temp->stockamount;
    strcpy_s(p2->brand, temp->brand);
}
int ObjectsInformation::ListCount()       //统计当前链表的记录总数返回一个整数
{
    if (!Head)
        return 0;
    int n = 0;
    for (Objects* p = Head->Next; p != End; p = p->Next)
    {
        n++;
    }
    return n;
}
void ObjectsInformation::my_Sort()       //排序商品
{
    showMenu(4);
    int x;
    cin >> x;
    switch (x)
    {
    case 1:
    {
        system("cls");
        cout << "\t\t排序中..." << endl;
        cout << "\n";
        Objects* p = NULL, * p1 = NULL, * k = NULL;
        int n = ObjectsInformation::ListCount();
        if (n < 2)
            return;
        for (p = Head->Next; p != End; p = p->Next)
            for (k = p->Next; k != End; k = k->Next)
            {
                if (p->stockprice > k->stockprice)
                {
                    ObjectsInformation::Swap(p, k);
                }
            }
        Display();
        out.open("supermarket.txt");
        for (Objects* q = Head->Next; q != End; q = q->Next)
            out << q->name << "\t" << q->kind << "\t" << q->stockprice << "\t" << q->purchaseprice << "\t" << q->stockamount << "\t" << q->place << "\t" << q->brand << "\t" << '\n';
        out.close();
        cout << "保存信息成功" << endl;
        cout << "排序完成" << endl;
        _getch();
        return;
    }
    case 2:
    {
        system("cls");
        cout << "\t\t排序中..." << endl;
        cout << "\n";
        Objects* p = NULL, * p1 = NULL, * k = NULL;
        int n = ObjectsInformation::ListCount();
        if (n < 2)
            return;
        for (p = Head->Next; p != End; p = p->Next)
            for (k = p->Next; k != End; k = k->Next)
            {
                if (p->stockamount > k->stockamount)
                {
                    ObjectsInformation::Swap(p, k);
                }
            }
        Display();
        out.open("supermarket.txt");
        for (Objects* q = Head->Next; q != End; q = q->Next)
            out << q->name << "\t" << q->kind << "\t" << q->stockprice << "\t" << q->purchaseprice << "\t" << q->stockamount << "\t" << q->place << "\t" << q->brand << "\t" << '\n';
        out.close();
        cout << "保存信息成功" << endl;
        cout << "排序完成" << endl;
        _getch();
        return;
    }
    case 3:
    {
        system("cls");
        cout << "\t\t排序中..." << endl;
        cout << "\n";
        Objects* p = NULL, * p1 = NULL, * k = NULL;
        int n = ObjectsInformation::ListCount();
        if (n < 2)
            return;
        for (p = Head->Next; p != End; p = p->Next)
            for (k = p->Next; k != End; k = k->Next)
            {
                if (p->money > k->money)
                {
                    ObjectsInformation::Swap(p, k);
                }
            }
        Display();
        out.open("supermarket.txt");
        for (Objects* q = Head->Next; q != End; q = q->Next)
            out << q->name << "\t" << q->kind << "\t" << q->stockprice << "\t" << q->purchaseprice << "\t" << q->stockamount << "\t" << q->place << "\t" << q->brand << "\t" << '\n';
        out.close();
        cout << "保存信息成功" << endl;
        cout << "排序完成" << endl;
        _getch();
        return;
    }
    }
}
void ObjectsInformation::Save()       //保存商品信息到文件函数
{
    
    out.open("supermarket.txt");
    for (Objects* p = Head->Next; p != End; p = p->Next)
        out << p->name << "\t" << p->kind  << "\t" << p->stockprice << "\t" << p->purchaseprice << "\t" << p->stockamount << "\t" << p->place << "\t" << p->brand << "\t" << p->money << '\n';

    out.close();
    cout << "保存信息成功" << endl;
}


int main()
{
    cout << "                                  " << endl;
    cout << "                                  " << endl;
    cout << "                                  " << endl;
    cout << "                                  " << endl;
    cout << "                                  ◢ █ █ █ █ █ █ █ █ █ █ █ █ ◣" << endl;
    cout << "                               █ █ █ █ █ █ █ █ █ █ █ █ █ █ " << endl;
    cout << "                               █ █   ◥ █ █ ◤   █ █ " << endl;
    cout << "                             ◢ █ █ █    ◥ ◤    █ █ ◣" << endl;
    cout << "                             ▊ ▎ █ █ ◣         ◢ █ ▊ ▊" << endl;
    cout << "                             ▊ ▎ █ █ ◤  ●   ●  ◥ █ ▊ ▊" << endl;
    cout << "                             ▊ █ █          █ ▊ ▊" << endl;
    cout << "                             ◥ ▇ █ █  ▊      ▊ █ ▇ ◤                     嗨嗨嗨欢迎光临老八秘制小超市" << endl;             //欢迎界面
    cout << "                               █ █ ◥▆ ▄ ▄ ▄ ▄ ▆ ◤ █ ▊               ◢▇ ▇◣" << endl;
    cout << "                            ◢ █ █◥◥▆ ▅ ▄ ▂ ▂ ▂ ▂ ▄ ▅ ▆                  ◢█" << endl;
    cout << "                            █ ╳             ╳ █            ◢◤" << endl;
    cout << "                            ◥ █ ◣   ˙     ˙ ◢ █         ◢◤  " << endl;
    cout << "                              ▊             ▊       █" << endl;
    cout << "                              ▊             ▊     ◢◤" << endl;
    cout << "                              ▊      ⊕      █ ▇ ▇ ▇ ◤ " << endl;
    cout << "                             ◢ █ ▇ ▆ ▆ ▆ ▅ ▅ ▅ ▅ ▆ ▆ ▆ ▇ █ " << endl;
    cout << "                             ▊                     ▊   " << endl;


    ObjectsInformation Grade;

    cout << "                                温馨提示按任意键进入超市后台";
    _getch();
    int x;
    bool quit = false;
    while (!quit)
    {
        Grade.showMenu(2);
        cin >> x;
        switch (x)
        {
        case 0: {quit = true; break; }  //退回界面
        case 1: {Grade.AddItem(); break; }//添加商品
        case 2: {Grade.my_Sort(); break; }//排序商品
        case 3: {Grade.Find(); break; }//查询商品
        case 4: {Grade.RemoveItem(); break; }//删除商品
        case 5: {Grade.ModifyItem(); break; }//修改商品信息
        case 6: {Grade.purchase(); break; }//购买商品
        case 7: {Grade.Save(); break; }//保存信息
        }
    }
    return 0;
}

 系统内容展示

                                                        图1 系统启始页面

图2 系统菜单页面

图3 系统添加商品页面

图4 系统购买商品页面

图5-6 系统修改商品信息页面

图7 系统删除商品信息页面

图8 系统查询商品信息页面

图9 系统统计排序商品信息页面


个人经验分享

过这次课程设计加强了我思考和解决问题的能力。在设计同时也是对知识的渴求和对所学知识的加强由于课本上的知识太多平时课间的学习并不能很好的理解和运用所以在这次课程设计过程中对C++语言有了更深的了解并且对于其在软件设计的使用有了更多的认识。

本次的课程设计有成功之处也有不足的地方。

成功之处是:本超市管理系统功能齐全并且经校验无错误而且具备一定的容错性功能代码有对应的注释信息以便以后维护涉及的知识点较全面有函数、数组、指针、类与类的继承、运算符重载、异常处理机制、文件、链表涉及的算法有顺序查找、模糊查找、选择排序有销售信息保存机制可以将顾客的消费记录保存以便以后核对和汇总有商品的库存判断机制当商品的库存量为空的时候在管理员进入系统的第一时刻就会提醒他补充存货。

不足之处是界面比较单调由于时间关系没有设计出一个美观的界面由于没有学习数据库和网络本系统仅仅只能由一台电脑使用由于知识缺乏本系统不能连接扫描仪以至于商品购买时只能手动输入其次排序功能只能对3个货品起作用逻辑较为简单货品较少的时候选用直接查询所有商品即可。

以上是我对本系统优劣之处的总结。但是总的来说本系统还是比较成功的对我们而言知识上的收获重要精神上的丰收更加可喜。挫折是一份财富经历是一份拥有。这次课程设计必将成为我们人生旅途上一个非常美好的回忆!

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6
标签: c++