栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

C++方式实现餐饮管理系统

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

C++方式实现餐饮管理系统

1.main.cpp文件

#include 
#include 
#include 
#include 
#include 
using namespace std;

class Customer//顾客类
{
private:
    char table[20];//桌号
    int queues;//排队号码
    char dishes[20];//菜品
    int amount;//账户余额
    static int total;//顾客总数
public:
    Customer();
    void order();//点菜函数
    void Printf();//输出顾客信息
    friend class LQueue;
};

class LQueue;
class Menus//菜单类
{
private:
    int number;//菜单编号
    int price;//价格
    char dish_name[30];//菜名
    static int sums;//菜品总数
public:
    void Set();//增加菜品
    void show();//显示菜品信息
    void correct_menus();//修改菜品
    void delete_menus();//删除菜品
    void renew_menus();//恢复菜单
    friend class LQueue;
    friend void Customer::order();
};
int Customer::total=0;
int Menus::sums=5;

struct QNode
{
    Customer data;
    QNode *next;
};

class LQueue//队列类
{
private:
    QNode *front,*rear;//队头和队尾
public:
    LQueue();
    void InLQueue();//增加顾客
    int EmptyLQueue();//判队空
    void OutLQueue();//删除队头元素
    void PrintQueue();//输出队伍信息
    void correct_customer(LQueue *L);//修改队伍信息
    void delete_customer(LQueue *L);//删除队伍元素
    ~LQueue();
};

int menu()
{
    char i;
    puts("**********************主菜单**********************tn");
    puts("tt1.增加新菜品n");
    puts("tt2.增加新顾客n");
    puts("tt3.顾客结账n");
    puts("tt4.显示顾客信息n");
    puts("tt5.显示菜品信息n");
    puts("tt6.修改顾客点菜信息n");
    puts("tt7.修改菜品信息n");
    puts("tt8.删除顾客n");
    puts("tt9.删除菜品n");
    puts("tt0.退出n");
    puts("**************************************************tn");
    i=getchar();
    system("cls");
    return i;
}

int main()
{
    LQueue L;
    Menus m;
    while(1)
    {
        switch(menu())
        {
        case'1':
            m.Set();
            break;
        case'2':
            L.InLQueue();
            break;
        case'3':
            L.OutLQueue();
            break;
        case'4':
            L.PrintQueue();
            break;
        case'5':
            m.show();
            break;
        case'6':
            L.correct_customer(&L);
            break;
        case'7':
            m.correct_menus();
            break;
        case'8':
            L.delete_customer(&L);
            break;
        case'9':
            m.delete_menus();
            break;
        case'0':
            m.renew_menus();
            return 0;
        }
    }
    return 0;
}

LQueue::LQueue()
{
    rear=0;
    front=0;
}

void LQueue::PrintQueue()
{
    QNode *p;
    p=front;
    if(p==NULL)
        {
            cout<<"队内无顾客!"<data.Printf();
        p=p->next;
    }
    getchar();
    getchar();
    system("cls");
}

void LQueue::InLQueue()
{
    QNode *p;
    p=new QNode;
    p->next=NULL;
    p->data.order();
    if(front==0)
    {
        front=p;
        rear=p;
    }
    else
    {
        rear->next=p;
        rear=p;
    }
    getchar();
    getchar();
    system("cls");
}

int LQueue::EmptyLQueue()
{
    if(front==NULL&&rear==NULL)
        return 1;
    else
        return 0;
}

void LQueue::OutLQueue()
{
    int i=0;
    QNode *p;
    Menus menu[50];
    if(EmptyLQueue()==1)
        {
            cout<<"队内无顾客!"<next;
        ifstream in("Menus.txt");
        while(in>>menu[i].number>>menu[i].dish_name>>menu[i].price)
        {
            if(strcmp(p->data.dishes,menu[i].dish_name)==0)
            {
                p->data.amount-=menu[i].price;
                break;
            }
            i++;
        }
        cout<<"首位顾客点餐之后的信息:n"<<"桌号"<data.table<data.queues<data.dishes<data.amount<front;
    q=front;
    if(q==NULL)
        cout<<"队列中无顾客!"<data.Printf();
            q=q->next;
        }
        cout<>numb;
        cout<>menu[i].number>>menu[i].dish_name>>menu[i].price)
        {
            cout<<"    "<data.queues)
            {
                cout<<"当前顾客信息为:"<data.table<data.queues<data.dishes<data.amount<>p->data.table>>p->data.dishes>>p->data.amount;
                    while(i>=0)
                    {
                        if(strcmp(menu[i].dish_name,p->data.dishes)==0)
                        {
                            flag=1;
                            break;
                        }
                        else
                            flag=0;
                        i--;
                    }
                    if(flag==1)
                        cout<<"输入成功!"<next;
        }
        if(flag1==0)
            cout<<"队伍中无此号码!"<front;
    r=front;
    if(r==NULL)
        cout<<"队列中无顾客!"<data.Printf();
            r=r->next;
        }
        cout<<"请输入需要删除顾客的排队号码:"<>numb;
        cout<data.queues)
            {
                if(flag==0)
                {
                    cout<<"此顾客信息为:"<data.table<data.queues<data.dishes<data.amount<front=p->next;
                }
                else
                {
                    cout<<"此顾客信息为:"<data.table<data.queues<data.dishes<data.amount<next=p->next;
                }
                flag=1;
                break;
            }
            else
            {
                if(flag==0)
                    q=L->front;
                else
                    q=q->next;
                p=p->next;
            }
            flag++;
        }
        if(flag==0)
            cout<<"队伍中无此号码!"<>menu[i].number>>menu[i].dish_name>>menu[i].price)
    {
        cout<<"    "<>table>>dishes>>amount;
        while(i>=0)
        {
            if(strcmp(menu[i].dish_name,dishes)==0)
            {
                flag=1;
                break;
            }
            else
                flag=0;
            i--;
        }
        if(flag==1)
            cout<<"输入成功!"<menu[i].number>>menu[i].dish_name>>menu[i].price)
    {
        cout<<"    "<>dish_name>>price;
    number=sums;
    ofstream out("Menus.txt",ios::app);
    out<>menu[i].number>>menu[i].dish_name>>menu[i].price)
    {
        cout<<"    "<>name;
    temp=i;
    i=0;
    ofstream outf("Menus.txt",ios::trunc);
    while(1)
    {
        in>>menu[i].number>>menu[i].dish_name>>menu[i].price;
        if(strcmp(name,menu[i].dish_name)==0)
            {
                cout<<"请输入修改后的菜品编号、菜名、价格:"<>menu[i].number>>menu[i].dish_name>>menu[i].price;
                outf<>menu[i].number>>menu[i].dish_name>>menu[i].price)
    {
        cout<<"    "<>name;
    temp=i;
    i=0;
    ofstream outf("Menus.txt",ios::trunc);
    while(1)
    {
        in>>menu[i].number>>menu[i].dish_name>>menu[i].price;
        if(strcmp(name,menu[i].dish_name)==0)
            {
                tempi=i;
                outf<>menu[i].number>>menu[i].dish_name>>menu[i].price)
        i++;
    temp=i;
    ofstream outf("Menus.txt",ios::trunc);
    ofstream out("Menus.txt",ios::app);
    for(i=0;i 

2.Menus.txt文件

1 水煮肉片 18
2 鱼香肉丝 25
3 鱼头 16
4 刀拍黄瓜 16
5 鲍鱼 20

3.Menus_renew.txt

1 水煮肉片 18
2 鱼香肉丝 25
3 鱼头 16
4 刀拍黄瓜 16
5 鲍鱼 20
 

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/737838.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号