欧美一级特黄大片做受成人-亚洲成人一区二区电影-激情熟女一区二区三区-日韩专区欧美专区国产专区

超市管理系統(tǒng)C++(課程設(shè)計)-創(chuàng)新互聯(lián)

歡迎光臨:

古之立大事者,不惟有超世之才,亦必有堅忍不拔之志。——蘇軾
---------------🍎------------🍉--------------
🐼學(xué)編程的bird的博客,邀您一起學(xué)習(xí)🦌
----------------🥕------------🥭-------------

“只有客戶發(fā)展了,才有我們的生存與發(fā)展!”這是創(chuàng)新互聯(lián)公司的服務(wù)宗旨!把網(wǎng)站當(dāng)作互聯(lián)網(wǎng)產(chǎn)品,產(chǎn)品思維更注重全局思維、需求分析和迭代思維,在網(wǎng)站建設(shè)中就是為了建設(shè)一個不僅審美在線,而且實用性極高的網(wǎng)站。創(chuàng)新互聯(lián)對成都做網(wǎng)站、成都網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)站開發(fā)、網(wǎng)頁設(shè)計、網(wǎng)站優(yōu)化、網(wǎng)絡(luò)推廣、探索永無止境。

😊很高興你打開了這篇博客。
★如有疑問不解或者說有想問的地方,都可以在下方評論留言,博主看到會盡快回復(fù)的。
★當(dāng)然,期待你的點贊+關(guān)注哦!
————————————————
版權(quán)聲明:本文為博主「學(xué)編程的bird」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請附上原文出處鏈接及本聲明。
原文鏈接:?超市管理系統(tǒng) C++_學(xué)編程的小bird的博客-博客https://blog.csdn.net/m0_64069699/article/details/125065247?spm=1001.2014.3001.5502


設(shè)計內(nèi)容

超市中商品分為四類,分別是食品、化妝品、日用品和飲料。每種商品都包含商品名稱、價格、庫存量和生產(chǎn)廠家、品牌等信息。主要完成對商品的銷售、統(tǒng)計和簡單管理。本系統(tǒng)的軟件界面是使用C++編譯生成的一個系統(tǒng)操作菜單。操作菜單界面總共有七個選項可以供用戶操作選擇,分別為購買商品、添加商品、刪除商品、修改商品、查詢商品、統(tǒng)計商品、退出系統(tǒng)。菜單頁面下方有可供用戶選擇操作項目的指令,當(dāng)用戶選擇并輸入0-6中的任意數(shù)字,系統(tǒng)便會進(jìn)入相應(yīng)的功能操作。如果出現(xiàn)錯誤操作,系統(tǒng)會該處輸入錯誤請從新輸入等提示或者自動跳出回到主菜單界面。


相關(guān)功能

(1)銷售功能。購買商品時,先輸入類別,然后輸入商品名稱,并在庫存中查找該商品的相關(guān)信息。如果有庫存量,輸入購買的數(shù)量,進(jìn)行相應(yīng)計算。如果庫存量不夠,給出提示信息,結(jié)束購買。

(2)商品簡單管理功能。

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

查詢功能:可按商品類別、商品名稱、生產(chǎn)廠家進(jìn)行查詢。若存在相應(yīng)信息,輸出所查詢的信息,若不存在該記錄,則提示“該記錄不存在!”。

修改功能:可根據(jù)查詢結(jié)果對相應(yīng)的記錄進(jìn)行修改。

刪除功能:主要完成商品信息的刪除。先輸入商品類別,再輸入要刪除的商品名稱,根據(jù)查詢結(jié)果刪除該物品的記錄,如果該商品不在物品庫中,則提示“該商品不存在”。

(3)統(tǒng)計功能。

輸出當(dāng)前庫存中所有商品的總數(shù)及詳細(xì)信息;可按商品的價格、庫存量、生產(chǎn)廠家進(jìn)行統(tǒng)計,輸出統(tǒng)計信息時,要按從大到小排序。


框圖

提示:
(1)?? ?類的設(shè)計關(guān)系

(2)?? ?主功能函數(shù)

源代碼
#include#include#include  //頭文件引入
#include#includeusing namespace std;

class Objects  //大類
{
public:             //公共權(quán)限
    Objects()
    {
    }
    char name[20];//名字
    char kind[20];//種類
    char place[10];//生產(chǎn)地
    char brand[10];//品牌
    float stockprice;  //成本價;
    float purchaseprice; //購買價;
    int stockamount;  //存貨數(shù)量;
    int sellamount; //售貨數(shù)量;
    int money;  //花費;
    
   
    Objects* Next;

    void InputAll()   //打印 名稱 種類 進(jìn)貨價 售出價  存貨數(shù)量  產(chǎn)地 品牌
    {
        InputName();
        InputKind();
        InputOther();
    }

    void InputKind()        //打印種類
    {
        cout<< "\t\t請選擇種類:"; cin >>kind;
    }

    void InputName()        //打印名稱
    {
        cout<< "\t\t請輸入商品的名稱:";  cin >>name;
    }

    void InputOther()       //打印  進(jìn)貨價 售出價  存貨數(shù)量  產(chǎn)地 品牌
    {
        cout<< "\t\t請輸入進(jìn)貨價:"; cin >>stockprice;
        cout<< "\t\t請輸入售出價:"; cin >>purchaseprice;
        cout<< "\t\t請輸入存貨數(shù)量:"; cin >>stockamount;
        cout<< "\t\t請輸入商品的產(chǎn)地:"; cin >>place;
        cout<< "\t\t請輸入生產(chǎn)商品牌:"; cin >>brand;
        money = 0;
    }

    void Inputstockprice()    //打印進(jìn)貨價
    {
        cout<< "\t\t請輸入進(jìn)貨價:"; cin >>stockprice;

    }
    void Inputpurchaseprice()    //打印售出價
    {
        cout<< "\t\t請輸入售出價:"; cin >>purchaseprice;

    }
    void Inputstockamount() //打印商品數(shù)量
    {
        cout<< "\t\t請輸入剩余商品數(shù)量:"; cin >>stockamount;
    }

    void InputPlace()   //打印商品產(chǎn)地
    {
        cout<< "\t\t請輸入商品產(chǎn)地:"; cin >>place;
    }

    void Inputbrand()       //打印品牌  
    {
        cout<< "\t\t請輸入生產(chǎn)商品牌:"; cin >>brand;
    }

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

    void Show2()            //查詢和排序某一個商品時打印內(nèi)容
    {
        cout<< "商品名: "<< name<< endl<< "種類:"<< kind<< endl<< "進(jìn)貨價: "<< stockprice<< endl<< "售出價: "<< purchaseprice<< endl<< "剩余商品數(shù)量: "<<
            stockamount<< endl<< "商品的產(chǎn)地: "<< place<< endl<< "生產(chǎn)商品牌: "<< brand<< endl<< endl<< endl;
    }
    void Show3()            //購買某一個商品后打印內(nèi)容
    {
        cout<< "商品名: "<< name<< endl<< "種類:"<< kind<< endl<< "售出價: "<< purchaseprice<< endl<< "剩余商品數(shù)量: "<< stockamount<< endl<< "生產(chǎn)商品牌: "<<
            brand<< endl<< "商品的產(chǎn)地: "<< place<< endl<< endl<< endl<< "共計花費:"<< money<< endl<< endl<< endl;
    }
};
class ObjectsInformation : public Objects            // ObjectsInformation類
{
public:                                             //公共權(quán)限
    ObjectsInformation();                           //函數(shù)聲明
    ~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()                              //統(tǒng)計的時候打印所有商品信息
    {
        system("cls");
        i = 0;
        for (Objects* p = Head->Next; p != End; p = p->Next)
        {
            p->Show2();
            i++;
        }
        cout<< "共有"<< i<< "個商品"<< "\n"<< endl;
        cout<< "輸入任意字符!繼續(xù)……";
        _getch();
    }
    void AddItem()                      //從鍵盤輸入商品信息
    {
        system("cls");
        End->InputName();
        showMenu(1);
        End->InputKind();
        End->InputOther();

        End->Next = new Objects;
        End = End->Next;
        cout<< "添加成功!"<< endl;
        Save();
        cout<< "輸入任意字符!繼續(xù)……";
        _getch();
    }
private:                                 //私有權(quán)限
    Objects* Head, * End;
    int i;
    ifstream in;    
    ofstream out;
    Objects* FindItem(char* name)           //通過名稱查找商品函數(shù)
    {
        for (Objects* p = Head; p->Next != End; p = p->Next)
            if (!strcmp(p->Next->name, name))return p;
        return NULL;
    }
    Objects* Findkind(char* kind)            //通過種類查找商品函數(shù)               //匹配成功則返回上一個指針,不成功就返回空
    {
        for (Objects* p = Head; p->Next != End; p = p->Next)
            if (!strcmp(p->Next->kind, kind))return p;
        return NULL;
    }
    Objects* Findbrand(char* brand)         // 通過品牌查找商品函數(shù)
    {
        for (Objects* p = Head; p->Next != End; p = p->Next)
            if (!strcmp(p->Next->brand, brand))return p;
        return NULL;
    }

};


ObjectsInformation::ObjectsInformation()                 //構(gòu)造函數(shù)         用于檢查是否有庫存
{
    Head = new Objects;
    Head->Next = new Objects;
    End = Head->Next;
    in.open("supermarket.txt");
    if (!in)

        cout<< "                                       "<< endl<<
        "                                       "<< endl<<
        "                                       "<< endl<<
        "\t\t\t\t超市現(xiàn)在沒有任何庫存了,趕緊進(jìn)貨吧"<< 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()                //析構(gòu)函數(shù) 釋放空間
{
    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<< " ☆ ☆ ☆ ☆ ☆ ☆ ☆  ☆   超 市  管 理 系  統(tǒng)     ☆  ☆ ☆ ☆ ☆ ☆ ☆ ☆"<< endl;
        cout<< "                                  "<< endl; cout<< "                                  "<< endl;
        cout<< "           *************        1.增添商品        *************             "<< endl;
        cout<< "                                  "<< endl;
        cout<< "           *************        2.統(tǒng)計商品        *************            "<< 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.退出系統(tǒng)        *************            "<< 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.修改進(jìn)貨價        *************            \n";
        cout<< "                                  "<< endl;
        cout<< "           *************        4.修改售出價        *************            \n";
        cout<< "                                  "<< endl;
        cout<< "           *************        5.修改剩余量        *************            \n ";
        cout<< "                                  "<< endl;
        cout<< "           *************        6.修改產(chǎn)地          *************            \n   ";
        cout<< "                                  "<< endl;
        cout<< "           *************        7.修改品牌          *************            \n   ";
        cout<< "                                  "<< endl;
        cout<< "           *************        8.修改全部信息     *************             "<< endl;
        cout<< "                                  "<< endl;
        cout<< "                                  "<< endl;
        cout<< "            *************        請選擇:0-8進(jìn)行相關(guān)操作"<< endl;
        break;
    }
    case 4:
    {
        system("cls");
        cout<< "                                  "<< endl;
        cout<< "                                  "<< endl;
        cout<< "                                  "<< endl;
        cout<< "*************************************************************************************\n"
 << "\t   1. 按商品價排序            2. 按庫存量排序               3. 按生產(chǎn)品牌排序                                   "
 << "**************************************************************************************"<< 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()       //查找函數(shù)
{
    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<< "輸入任意字符!繼續(xù)……";
            _getch();
        }
        else
        {
            cout<< "\t\t沒有找到該名稱的商品!"<< '\n'<< endl;
            cout<< "輸入任意字符!繼續(xù)……";
            _getch();
        }
    }break;
    case 2: {cout<< "\t\t請輸入要查找的商品的種類:"; cin >>name;
        if (p = Findkind(kind))
        {
            p->Next->Show2();
            cout<< "輸入任意字符!繼續(xù)……";
            _getch();
        }
        else
        {
            cout<< "\t\t沒有找到該種類的商品!"<< '\n'<< endl;
            cout<< "輸入任意字符!繼續(xù)……";
            _getch();
        }
    }break;
    case 3: {cout<< "\t\t請輸入要查找的廠家的名稱:"; cin >>name;
        if (p = Findbrand(brand))
        {
            p->Next->Show2();
            cout<< "輸入任意字符!繼續(xù)……";
            _getch();
        }
        else
        {
            cout<< "\t\t沒有找到該廠家的商品!"<< '\n'<< endl;
            cout<< "輸入任意字符!繼續(xù)……";
            _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<< "輸入任意字符!繼續(xù)……";
            _getch();
        }
        else
        {
            cout<< "\t\t沒有找到您需要的商品!"<< endl;
            cout<< "輸入任意字符!繼續(xù)……";
            _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<< "輸入任意字符!繼續(xù)……";
            _getch();
        }
        else
        {
            cout<< "\t\t沒有找到您需要的商品!"<< endl;
            cout<< "輸入任意字符!繼續(xù)……";
            _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<< "輸入任意字符!繼續(xù)……";
            _getch();
        }
        else
        {
            cout<< "\t\t沒有找到您需要的商品!"<< endl;
            cout<< "輸入任意字符!繼續(xù)……";
            _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<< "輸入任意字符!繼續(xù)……";
            _getch();
        }
        else
        {
            cout<< "\t\t沒有找到您需要的商品!"<< endl;
            cout<< "輸入任意字符!繼續(xù)……";
            _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<< "輸入任意字符!繼續(xù)……";
            _getch();
        }
        else
        {
            cout<< "\t\t沒有找到您需要的商品!"<< endl;
            cout<< "輸入任意字符!繼續(xù)……";
            _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<< "輸入任意字符!繼續(xù)……";
            _getch();
        }
        else
        {
            cout<< "\t\t沒有找到您需要的商品!"<< endl;
            cout<< "輸入任意字符!繼續(xù)……";
            _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<< "輸入任意字符!繼續(xù)……";
            _getch();
        }
        else
        {
            cout<< "\t\t沒有找到您需要的商品!"<< endl;
            cout<< "輸入任意字符!繼續(xù)……";
            _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<< "輸入任意字符!繼續(xù)……";
            _getch();
        }
        else
        {
            cout<< "\t\t沒有找到您需要的商品!"<< endl;
            cout<< "輸入任意字符!繼續(xù)……";
            _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<< "輸入任意字符!繼續(xù)……";
        _getch();
    }
    else
    {
        cout<< "\t\t沒有找到您需要的商品!"<< endl;
        cout<< "輸入任意字符!繼續(xù)……";
        _getch();
    }
}
void ObjectsInformation::purchase( )           //購買商品
{
    system("cls");
    char name[20]; int i;
    Objects* p = NULL;
    Objects* temp = NULL;

    cout<< "\t\t請輸入要購買的商品的名稱和數(shù)量:"; 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"<< "數(shù)量: "<< i<< "\n";
            cout<< "\n";
            cout<< "購買后商品信息: "<< endl;


            p->Next->Show3();  //打印購買后的信息

            Save();         //保存信息
            p->Next->money = 0;
            cout<< "輸入任意字符!繼續(xù)……";
            _getch();

        }
        else
        {
            cout<< "商品數(shù)量不夠,不能購買"<< endl;
            cout<< "輸入任意字符!繼續(xù)……";
            _getch();
            purchase();
        }

    }
    else
    {
        cout<< "無此種商品,不能購買"<< endl;
        cout<< "輸入任意字符!繼續(xù)……";
        _getch();
        showMenu(2);
    }

}
void ObjectsInformation::Swap(Objects* p1, Objects* p2)        //交換兩個商品的數(shù)據(jù)  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()       //統(tǒng)計當(dāng)前鏈表的記錄總數(shù),返回一個整數(shù)
{
    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()       //保存商品信息到文件函數(shù)
{
    
    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<< "                                溫馨提示:按任意鍵進(jìn)入超市后臺";
    _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;
}

系統(tǒng)內(nèi)容展示:

??????????????????????? ???????????????????? 圖1 系統(tǒng)啟始頁面

圖2 系統(tǒng)菜單頁面

圖3 系統(tǒng)添加商品頁面

圖4 系統(tǒng)購買商品頁面

圖5-6 系統(tǒng)修改商品信息頁面

圖7 系統(tǒng)刪除商品信息頁面

圖8 系統(tǒng)查詢商品信息頁面

圖9 系統(tǒng)統(tǒng)計排序商品信息頁面


個人經(jīng)驗分享:

過這次課程設(shè)計,加強(qiáng)了我思考和解決問題的能力。在設(shè)計同時也是對知識的渴求和對所學(xué)知識的加強(qiáng),由于課本上的知識太多,平時課間的學(xué)習(xí)并不能很好的理解和運用,所以在這次課程設(shè)計過程中,對C++語言有了更深的了解,并且對于其在軟件設(shè)計的使用有了更多的認(rèn)識。

本次的課程設(shè)計有成功之處也有不足的地方。

成功之處是:本超市管理系統(tǒng)功能齊全并且經(jīng)校驗無錯誤,而且具備一定的容錯性;功能代碼有對應(yīng)的注釋信息,以便以后維護(hù);涉及的知識點較全面,有函數(shù)、數(shù)組、指針、類與類的繼承、運算符重載、異常處理機(jī)制、文件、鏈表;涉及的算法有順序查找、模糊查找、選擇排序;有銷售信息保存機(jī)制,可以將顧客的消費記錄保存,以便以后核對和匯總;有商品的庫存判斷機(jī)制,當(dāng)商品的庫存量為空的時候,在管理員進(jìn)入系統(tǒng)的第一時刻就會提醒他補(bǔ)充存貨。

不足之處是:界面比較單調(diào),由于時間關(guān)系沒有設(shè)計出一個美觀的界面;由于沒有學(xué)習(xí)數(shù)據(jù)庫和網(wǎng)絡(luò),本系統(tǒng)僅僅只能由一臺電腦使用;由于知識缺乏,本系統(tǒng)不能連接掃描儀,以至于商品購買時,只能手動輸入;其次排序功能只能對3個貨品起作用,邏輯較為簡單;貨品較少的時候,選用直接查詢所有商品即可。

以上是我對本系統(tǒng)優(yōu)劣之處的總結(jié)。但是總的來說本系統(tǒng)還是比較成功的,對我們而言,知識上的收獲重要,精神上的豐收更加可喜。挫折是一份財富,經(jīng)歷是一份擁有。這次課程設(shè)計必將成為我們?nèi)松猛旧弦粋€非常美好的回憶!

你是否還在尋找穩(wěn)定的海外服務(wù)器提供商?創(chuàng)新互聯(lián)www.cdcxhl.cn海外機(jī)房具備T級流量清洗系統(tǒng)配攻擊溯源,準(zhǔn)確流量調(diào)度確保服務(wù)器高可用性,企業(yè)級服務(wù)器適合批量采購,新人活動首月15元起,快前往官網(wǎng)查看詳情吧

網(wǎng)頁題目:超市管理系統(tǒng)C++(課程設(shè)計)-創(chuàng)新互聯(lián)
文章網(wǎng)址:http://aaarwkj.com/article36/iepsg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供標(biāo)簽優(yōu)化、虛擬主機(jī)電子商務(wù)、品牌網(wǎng)站建設(shè)云服務(wù)器、網(wǎng)站導(dǎo)航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

外貿(mào)網(wǎng)站制作
欧美αv一区二区三区| 亚洲国产综合亚洲综合国产| 日韩黄色免费在线观看| 日韩人妻高清精品专区| 在线观看中文字幕不卡二区| 日韩欧美亚洲精品中文字幕αv| 伊人青草免费在线视频 | 日韩人妻中出中文字幕| 中文字幕亚洲天堂久久| 亚洲天堂欧美日韩一区| 色婷婷狠狠久久综合中文一本| 蜜桃国产精品视频网站| 粉嫩护士国产在线观看| 亚洲伦理在线一区二区| 日韩精品一区三区二区| 精品黄色大片不卡国产| 国产成人综合欧美日韩另类| 欧美日韩国产在线91| 涩久久悠悠一区二区三区| 国产传媒视频网站在线观看| 国产高潮精品呻吟久久av| 四虎免费在线高清观看| 欧美日韩综合精品无人区| 亚洲香蕉视频免费在线观看| 在线观看高清国产黄色片| 97在线观看全部视频| 精品成人乱色一区二区| 亚洲清纯唯美激情四射| 欧美男女精品一区二区三区| 国产精品不卡一不卡二| 一区二区三区免费在线观看视频| 中文字幕日韩午夜精品| 亚洲黄色一区大陆av剧情| 亚洲成人av在线直播| 日本视频天堂在线不卡| 欧美性生活在线视频观看| 成人午夜福利影院在线| 麻豆蜜桃精品视频在线观看| 91国产熟女自拍视频| 亚洲一区二区三区国色天香| 色悠悠粉嫩一区二区三区|