餐厅信息管理系统

简易餐厅信息管理系统

            餐厅管理流程是一个小型的信息管理系统,本文采用c/c++中的结构体、文件的输入、输出等操作,实现了一个餐厅中的预约、点菜、查询信息、收款基本功能。

1.模块分析

            本文将一个餐厅信息管理系统划分为如下图所示的子模块。

            主要功能如下:

            (1)预约和点菜功能:这是一个餐厅最最基本业务。预约功能既能方便用户预订餐厅业务,同时又可以让餐厅人员提前准备相关食材和菜品,减少客人等待时间,提高顾客的消费体验。

            (2)查询功能:包括预约信息查询和账单查询。预约查询可以方便顾客查询和更改预约信息,店家根据预约情况做出相应安排;账单查询可以是顾客了解自己的消费情况,避免差错。

            (3)收款功能:顾客用餐结束后,系统根据桌号查询顾客的消费情况并计算出总金额。


                              

2.程序设计

     基本设计思想:

     程序中主要涉及以下几个函数:

    (1)初始菜单信息:第一次进入系统时,需要对菜单信息进行初始化。

              记录菜单信息:将菜单信息记录到menu.txt文件中。

              打印菜单:打印菜单信息,供顾客点菜。

              void init_menu();     void save_menu();     void show_menu(int i);  

    (2)记录预约信息:记录顾客的姓名,手机号,预约时间。

             查询预约信息:查询所有的预约信息。

              void save_bespeak(int f);          void show_bespeak(int bes_num);    

    (3)记录点菜信息:记录桌号,菜的数量,菜名,价格。

             查询点菜信息:查询消费记录。

             void save_order(int or_num);             void show_order(int or_num);  

       代码(c/c++)

#include <iostream>
using namespace std;
#define N 9999
#define size 5                  //菜品数
struct menu                     //菜单
{char cai_name[15];      //菜名int price;              //菜的价格
}menu[N];
struct  order                 //每张桌子点菜信息
{int desk_num;           //桌号char cai_name[15];      //菜名int price;              //菜的价格
}order[N];
struct bespeak                  //顾客预约信息
{char cus_name[15];      //顾客名字int mobilenum;          //手机号double time;            //预约时间
}bespeak[N];
void save_menu(int i);         //保存菜单信息
void save_bespeak(int f);       //保存预约信息
void save_order(int or_num);             //保存点菜信息
void show_menu();              //显示菜单信息
void show_bespeak(int bes_num);           //显示预约信息
void show_order(int or_num);             //显示点菜信息
void init_menu();              //初始化菜单信息
int main()
{init_menu();show_menu();int bes_num=0,or_num=0;
re:cout<<"输入密码进入系统:"<<endl;int password;cin>>password;if(password==123456){FILE *fp1,*fp2;fp1=fopen("D:\\restauraut\\order.txt","w");fp2=fopen("D:\\restauraut\\bespeak.txt","w");fclose(fp1);fclose(fp2);                                    //清空预约、点菜文件中的信息system("cls");cout<<"欢迎进入餐厅信息管理系统"<<endl;kaishi:cout<<"选项 1.餐饮管理 2.信息查询 3.收银管理 4.退出"<<endl;int xx;cin>>xx;if(xx==1){system("cls");ss:cout<<"选项 1.预约记录 2.桌台点菜 3.退出"<<endl;int xx_1;cin>>xx_1;if(xx_1==1){system("cls");cout<<"记录预约信息(姓名 手机号后四位 时间(时.分))"<<endl;cin>>bespeak[bes_num].cus_name>>bespeak[bes_num].mobilenum>>bespeak[bes_num].time;save_bespeak(bes_num);cout<<"记录完毕"<<endl;bes_num++;goto ss;}else if(xx_1==2){system("cls");cout<<"分配桌位号:";int d_num;cin>>d_num;show_menu();cout<<"记录点菜信息:"<<endl;cout<<"点菜数量:";int num;cin>>num;for(int i=0;i<num;i++){order[i].desk_num=d_num;cin>>order[i].cai_name>>order[i].price;save_order(i);}cout<<"记录完毕"<<endl;or_num+=num;goto ss;}else if(xx_1==3){goto kaishi;}else{cout<<"输入错误,请重新输入:";goto ss;}}else if(xx==2){system("cls");mm:cout<<"选项 1.预约信息 2.消费查询 3.退出"<<endl;int xx_2;cin>>xx_2;if(xx_2==1){system("cls");show_bespeak(bes_num);goto mm;}else if(xx_2==2){system("cls");show_order(or_num);goto mm;}else if(xx_2==3){goto kaishi;}else{cout<<"输入错误,请重新输入:";goto mm;}}else if(xx==3){system("cls");cout<<"结账桌号:";int p;cin>>p;int sum=0;for(int k=0;k<or_num;k++){if(order[k].desk_num==p)sum+=order[k].price;}cout<<"消费金额:"<<sum<<"元"<<endl;cout<<"收银成功"<<endl;goto kaishi;}else if(xx==4){system("cls");cout<<"退出系统..."<<endl;}else{cout<<"输入错误,请重新输入:";goto kaishi;}}else{cout<<"输入错误,请重新输入:";goto re;}return 0;
}
void save_menu()                //保存菜单信息
{FILE *fp;if((fp=fopen("D:\\restauraut\\menu.txt","wb"))==NULL)cout<<"不能打开此文件"<<endl;else{fwrite(menu,sizeof(struct menu),size,fp);}fclose(fp);
}
void init_menu()                //初始化菜单信息
{cout<<"第一次进入系统,请输入菜单信息:"<<endl;cout<<"菜名  价格(元)"<<endl;for(int i=0;i<size;i++){cin>>menu[i].cai_name;cin>>menu[i].price;}save_menu();
}
void show_menu()             //显示菜单信息
{FILE *fp;fp=fopen("D:\\restauraut\\menu.txt","rb");cout<<"菜单信息(菜名  价格(元))"<<endl;for(int i=0;i<size;++i){fread(&menu[i],sizeof(struct menu),1,fp);cout<<menu[i].cai_name<<" "<<menu[i].price<<endl;}fclose(fp);
}
void save_bespeak(int f)           //保存预约信息
{FILE *fp;if((fp=fopen("D:\\restauraut\\bespeak.txt","ab+"))==NULL)cout<<"不能打开此文件"<<endl;else{//fseek(fp,f*sizeof(struct bespeak),SEEK_SET);if(fwrite(&bespeak[f],sizeof(struct bespeak),1,fp)!=1)cout<<"写入错误"<<endl;}fclose(fp);
}
void show_bespeak(int bes_num)           //显示预约信息
{FILE *fp;fp=fopen("D:\\restauraut\\bespeak.txt","rb");cout<<"预约信息(名字 手机号后四位 时间(时.分))"<<endl;for(int i=0;i<bes_num;++i){fread(&bespeak[i],sizeof(struct bespeak),1,fp);cout<<bespeak[i].cus_name<<bespeak[i].mobilenum<<bespeak[i].time;}fclose(fp);
}
void save_order(int or_num)     //保存点菜信息
{FILE *fp;if((fp=fopen("D:\\restauraut\\order.txt","ab+"))==NULL)cout<<"不能打开此文件"<<endl;else{// fseek(fp,or_num*sizeof(struct bespeak),SEEK_SET);if(fwrite(&order[or_num],sizeof(struct order),1,fp)!=1)cout<<"写入错误"<<endl;}fclose(fp);
}
void show_order(int or_num)             //显示点菜信息
{FILE *fp;fp=fopen("D:\\restauraut\\order.txt","rb");cout<<"点菜信息(桌号 菜名 价格(元))"<<endl;for(int i=0;i<or_num;++i){fread(&order[i],sizeof(struct order),1,fp);cout<<order[i].desk_num<<"  "<<order[i].cai_name<<"  "<<order[i].price;}fclose(fp);
}

    部分功能测试结果

      
      
      
      (程序中有些地方还有待完善,基本操作可以完成)

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/67471.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

塔望·食业研究|决胜终端,解析“排队王”品牌连锁店的门头战略

“学我者生&#xff0c;似我者死”&#xff0c;这是国画大师齐白石先生的名言&#xff0c;形容照着临摹却不得精髓的作品。这同样也适用于门头设计领域&#xff0c;就好比卖冷饮的&#xff0c;看到蜜雪冰城生意火爆&#xff0c;就也弄个雪人在门头上&#xff1b;又或者做糕点的…

基于JavaGUI的火锅自助点菜客户端和服务端系统

目录 项目背景介绍 1系统功能介绍 1系统类图 3 主要模块的 UML 说明&#xff1a; 4菜品类&#xff0c;其作为几个具体菜品类的基类 5关键模块说明 8Database 模块&#xff1a; 8 层次结构如下图 8Client 模块&#xff1a; 8Server 模块&#xff1a; 9 五&#xff1a;知识点应用…

【餐厅点餐平台|二】总体设计

餐厅点餐平台导航 【餐厅点餐平台&#xff5c;一】项目描述需求分析 https://blog.csdn.net/weixin_46291251/article/details/126414430 【餐厅点餐平台&#xff5c;二】总体设计 https://blog.csdn.net/weixin_46291251/article/details/126422811 【餐厅点餐平台&#xff5…

数据库餐饮设计

第1章 系统概述 数据库系统设计是指对于一个给定的应用环境&#xff0c;构造优化的数据库逻辑模式和物理结构&#xff0c;并据此建立数据库及其应用系统&#xff0c;使之能够有效的存储和管理数据&#xff0c;满足各种用户的应用需求&#xff0c;包括信息管理要求和数据库操作…

点餐系统设计与实现

项目背景和意义 目的&#xff1a;本课题主要目标是设计并能够实现一个基于java的外卖点菜系统&#xff0c;管理员通过后台添加菜品&#xff0c;用户浏览器登录&#xff0c;查看菜品、购买、下单等。根据需求&#xff0c;本系统采用的是BS&#xff08;Browser Server简称浏览器服…

餐饮数据可视化实例

目录 1、创建数据库以及表结构 2、向数据库导入数据 3、从数据库中提取数据 4、数据清洗 5、PowerPivot 6、体系指标的计算 指标①&#xff1a;销售金额 指标②&#xff1a;折扣金额 指标③ &#xff1a;折扣率 指标④&#xff1a; 台数 指标⑤&#xff1a; 翻台…

餐饮后台管理系统

一、项目介绍&#xff1a; 用于每天的菜品数据分析&#xff0c;客户的管理&#xff0c;员工的管理&#xff0c;查看订单信息&#xff0c;菜品的添加或者下架管理 二、项目使用技术栈&#xff1a; vue2全家桶、element-ui、axios、js、es6、echarts 三、主页效果图&#xff…

点餐系统(设计模式)

同学们应该都去麦当劳或肯德基吃过快餐吧&#xff1f;请同学们参考肯德基官网的信息模拟肯德基快餐店的收银系统&#xff0c;结合设计模式&#xff08;2种以上&#xff09;至少实现系统的以下功能&#xff1a; 正常餐品结算和找零。 基本套餐结算和找零。 使用优惠劵购买餐品结…

餐饮企业数据可视化大屏(智慧餐饮)

随着信息技术的深入发展&#xff0c;数据大屏的适用场景日益广泛&#xff0c;集工作汇报、实时监控和预测分析等功能于一身。 数据可视化的本质是视觉对话&#xff0c;数据可视化将数据分析技术与图形技术结合&#xff0c;清晰有效地将分析结果信息进行解读和传达。 当前很多餐…

163邮箱和qq邮箱如何开启pop和IMAP授权

首先是163邮箱&#xff0c;首先在主页上选择设置在设置里选择接下来就要开启权限&#xff0c;打钩就行了选择客户端授权密码&#xff0c;设置在第三方邮件的登录密码&#xff0c;这个密码就是在第三方客户端登陆的密码。 QQ邮箱同样先选择设置&#xff0c;然后选择账户&#xf…

在Outlook2007中设置QQ邮箱为IMAP/SMTP服务器

写Outlook设置QQ邮箱的攻略很多&#xff0c;但是都设置成POP3服务器。原本以为设置IMAP服务器流程一致&#xff0c;没想到低估了outlook和腾讯的麻烦程度。搞了一上午终于正确设置&#xff0c;写下来给有需要的人参考。 ——————————————————————————…

oracle qq邮箱不能用,QQ邮箱怎么不能用?QQ邮箱崩了官方公告

很久不用一次的QQ邮箱出现了大规模的崩溃&#xff0c;在5月6日突然有小伙伴反映&#xff0c;QQ邮箱PC端出现报错&#xff0c;就算是换了浏览器也没有用&#xff0c;那么这究竟是什么情况&#xff1f;我们可以从官方给出的公告来了解&#xff0c;遇到这个问题的用户一起来看看吧…

语音识别使用推荐(讯飞、百度、腾讯、云知声等)

科大讯飞 http://www.xfyun.cn/default/online_demo 百度 https://www.baidu.com/link?urlGBbcO2NttzpFelhAWOSqrjSJ7EHyuFUT_R4c3PXMfVa&wd&eqiddbc31d4600009c600000000559e45bac 腾讯 https://cloud.tencent.com/product/asr 云知声 http://dev.hivoice.cn/ 推…

科大迅飞语音听写(流式版)WebAPI,Web前端、H5调用 语音识别,语音搜索,语音听写

前言 由于公司有个Web项目需要用到语音搜索功能&#xff0c;找了一些第三方库都不太理想&#xff0c;要么语音识别速度很慢&#xff0c;要么不能精确识别等等&#xff0c;最后选择了迅飞语音&#xff08;迅飞语音听写&#xff08;流式版&#xff09;WebAPI&#xff09;。迅飞语…

安卓接入讯飞语音识别

#因为该项目不适合图形展示&#xff0c;所以无图 需要使用录音功能&#xff0c;那么虚拟机是不行的&#xff0c;只能使用真机测试 集成到项目中&#xff0c;需要将讯飞SDK里的内容搬到项目对应位置 在AndroidMainfest.xml中添加相应权限&#xff0c;安卓多少版本需要在代码中动…

腾讯、百度、讯飞 语音识别

一、腾讯语音识别—一句话语音识别 1、账号申请 &#xff08;1&#xff09;搜索腾讯云官网 https://cloud.tencent.com/?fromSourcegwzcw.2212127.2212127.2212127&utm_mediumcpd&utm_idgwzcw.2212127.2212127.2212127 &#xff08;2&#xff09;打开语音识别 腾…

js pink老师

JS 基础 输入和输出语法 向body输出内容 document.write("<h1>眼泪为你唱歌</h1>")窗口弹出内容 alert("将军")控制台打印内容 console.log("勇敢的面对");输入语句 prompt("蓝色的雨")输入语句输出到页面 const n…

新增WebDB和ChatGPT组件,支持对ChatGPT资产进行纳管,JumpServer堡垒机v3.5.0发布

2023年7月24日&#xff0c;JumpServer开源堡垒机正式发布v3.5.0版本。在这一版本中&#xff0c;新生代数据库连接组件——问题终结者Chen强势来袭&#xff0c;替代原有的OmniDB组件&#xff0c;在兼容旧版本的同时&#xff0c;解决了旧组件性能不足的问题&#xff0c;为用户提供…

新增 WebDB 和 ChatGPT 组件,支持对 ChatGPT 资产进行纳管,JumpServer 堡垒机 v3.5.0 发布

▲图 1 新增 Web 可视化数据库连接组件 Chen&#xff0c;替代原有的 OmniDB 组件 2. 新增 GPT 资产连接组件 Kael&#xff0c;支持纳管 ChatGPT 资产 在 JumpServer v3.5.0 版本中&#xff0c;新增 Kael 组件。该组件集成了 GPT 平台&#xff0c;支持对 ChatGPT 资产进行纳管…

毕业设计\毕业论文论文下载查询\查重降重\PPT工具合集

目录 各类工科毕业设计源码下载 论文查询\下载 广西壮族自治区图书馆 国家哲学社会科学文献中心 OALib 查重 万方免费查重&#xff08;应届生免费一次&#xff09; 降重 秘塔写作猫 火龙果写作 PDF工具 PDF Shaper 思维导图 GitMind 开题报告\答辩 PPT 第一pp …