C语言点餐系统

点餐系统(c语言) #include<iostream> #include<cstring> #include<stdio.h> #include<string.h> #include<stdlib.h> #include<cstring> #include<conio.h> using namespace std; typedef struct member { char username[20];//用户名 char pa 阅读详情

C语言点餐系统

这是一个很简单的点餐系统,用到的知识也不复杂,所以对新手学习还是很有作用,贴上来给大家参考下。

完成了如下功能:

 1.显示餐厅提示语;

 2.打印菜单(输出菜品分类:主食、甜点、饮料、主菜、开胃菜);

 3.选择ID进入菜品分类子目录;

 4.进行具体选择(可重复选择同一样菜);

 5.返回上级菜单(进行其他分类的选择);

 6.完成点餐;

 7.打印点餐信息(菜名、单价、数量、价格)。

代码如下:

  1. #include <stdio.h>  
  2.   
  3. void main_munu(){  
  4.     //打印主菜单  
  5.     char a[6][20]={"菜单","凉菜","热销菜","主食","饭后甜点","饮料"};  
  6.     int i;  
  7.     printf("%s\n",a[0]);  
  8.     for(i=1;i<6;i++)  
  9.     {  
  10.         printf("\t%d.%s\n",i,a[i]);  
  11.     }  
  12.     printf("\t0.点餐结束\n");  
  13. }  
  14.   
  15. void menu_liangcai(){  
  16.     //凉菜类打印  
  17.     char a[3][20]={"木耳辣根","姜汁皮蛋","肉丝苦菊"};//定义字符数组,存放菜名  
  18.     printf("请具体选择菜品:\n");  
  19.     for (int i = 0; i < 3; i ++) {  
  20.         printf("\t\t%d.%s\n",i+1,a[i]);  
  21.     }  
  22.     printf("\t\t0.返回上层菜单\n");  
  23. }  
  24.   
  25. void menu_rexiao(){  
  26.     //热销菜打印  
  27.     char a[3][20]={"葱烧排骨","麻婆豆腐","香辣小河虾"};//定义字符数组,存放菜名  
  28.     printf("请具体选择菜品:\n");  
  29.     for (int i = 0; i < 3; i ++) {  
  30.         printf("\t\t%d.%s\n",i+1,a[i]);  
  31.     }  
  32.     printf("\t\t0.返回上层菜单\n");  
  33. }  
  34.   
  35. void menu_zhushi(){  
  36.     // 主食类打印  
  37.     char a[3][20]={"香肠焖饭","海鲜炒面","玉米馒头"};//定义字符数组,存放菜名  
  38.     printf("请具体选择菜品:\n");  
  39.     for (int i = 0; i < 3; i ++) {  
  40.         printf("\t\t%d.%s\n",i+1,a[i]);  
  41.     }  
  42.     printf("\t\t0.返回上层菜单\n");  
  43. }  
  44.   
  45. void menu_tiandian(){  
  46.     //甜点类打印  
  47.     char a[3][20]={"草莓冰淇淋","懒人布丁","香橙果冻"};//定义字符数组,存放菜名  
  48.     printf("请具体选择菜品:\n");  
  49.     for (int i = 0; i < 3; i ++) {  
  50.         printf("\t\t%d.%s\n",i+1,a[i]);  
  51.     }  
  52.     printf("\t\t0.返回上层菜单\n");  
  53. }  
  54.   
  55. void menu_yinliao(){  
  56.     //饮料类打印  
  57.     char a[3][20]={"倾橙汁恋","可口可乐","秘制凉茶"};//定义字符数组,存放菜名  
  58.     printf("请具体选择菜品:\n");  
  59.     for (int i = 0; i < 3; i ++) {  
  60.         printf("\t\t%d.%s\n",i+1,a[i]);  
  61.     }  
  62.     printf("\t\t0.返回上层菜单\n");  
  63. }  
  64.   
  65. int main(int argc, const char * argv[]) {  
  66.     printf("***** 法克招牌快餐店 *****\n");  
  67.     printf(" *****  欢迎您点餐 *****\n");  
  68.     int M;//定义用户选择的分类代号为M;  
  69.     int n;//定义用户输入子菜单下的菜品代号为n;  
  70.     int x[5][3] = {0};//定义每类菜品被点数量  
  71.     int price1[5][3] = {0};//每种菜品的价格总价  
  72.     int price[5][3] = {{12,15,13},{25,20,30},{5,5,10},{6,5,3},{3,4,5}};//定义每样菜品单价  
  73.     int total = 0;//定义所有菜品总价 初始化为0;  
  74.     char name[5][3][20] = {{"木耳辣根","姜汁皮蛋","肉丝苦菊"},{"葱烧排骨","麻婆豆腐","香辣小河虾"},{"香肠焖饭","海鲜炒面","玉米馒头"},{"草莓冰淇淋","懒人布丁","香橙果冻"},{"倾橙汁恋","可口可乐","秘制凉茶"}};  
  75.     while (1) {  
  76.         main_munu();  
  77.         scanf("%d",&M);//接收用户输入的菜品分类代号  
  78.         if (M == 0) {  
  79.             break;  
  80.         }  
  81.         switch (M) {  
  82.             case 1:  
  83.             {  
  84.                 menu_liangcai();  
  85.                 while (1) {  
  86.                     scanf("%d",&n);  
  87.                     if (n == 0) {  
  88.                         //如果输入为0,跳出循环(程序中表现为:跳出本菜单下的菜品选择);  
  89.                         break;  
  90.                     }  
  91.                     //统计 每样菜品总价格 与被点次数  
  92.                     price1[0][n-1] += price[0][n-1];  
  93.                     x [0][n-1] ++;   
  94.                 }  
  95.             }  
  96.                 if(n == 0)break;//如果输入为0,结束选菜;  
  97.             case 2:  
  98.             {  
  99.                 menu_rexiao();  
  100.                 while (1) {  
  101.                     scanf("%d",&n);  
  102.                     if (n == 0) {  
  103.                         //如果输入为0,跳出循环(程序中表现为:跳出本菜单下的菜品选择);  
  104.                         break;  
  105.                     }  
  106.                     price1[1][n-1]+=price[1][n-1];  
  107.                     x[1][n-1]++;  
  108.                 }  
  109.             }  
  110.                 if(n == 0)break;//如果输入为0,结束选菜;  
  111.             case 3:  
  112.             {  
  113.                 menu_zhushi();  
  114.                 while (1) {  
  115.                     scanf("%d",&n);  
  116.                     if (n == 0) {  
  117.                         //如果输入为0,跳出循环(程序中表现为:跳出本菜单下的菜品选择);  
  118.                         break;  
  119.                     }  
  120.                     price1[2][n-1] += price[2][n-1];  
  121.                     x[2][n-1]++;  
  122.                 }  
  123.             }  
  124.                 if(n == 0)break;//如果输入为0,结束选菜;  
  125.             case 4:  
  126.             {  
  127.                 menu_tiandian();  
  128.                 while (1) {  
  129.                     scanf("%d",&n);  
  130.                     if (n == 0) {  
  131.                         //如果输入为0,跳出循环(程序中表现为:跳出本菜单下的菜品选择);  
  132.                         break;  
  133.                     }  
  134.                     price1[3][n-1] += price[3][n-1];  
  135.                     x[3][n-1]++;  
  136.                 }  
  137.             }  
  138.                 if(n == 0)break;//如果输入为0,结束选菜;  
  139.             case 5:  
  140.             {  
  141.                 menu_yinliao();  
  142.                 while (1) {  
  143.                     scanf("%d",&n);  
  144.                     if (n == 0) {  
  145.                         //如果输入为0,跳出循环(程序中表现为:跳出本菜单下的菜品选择);  
  146.                         break;  
  147.                     }  
  148.                     price1[4][n-1] += price[4][n-1];  
  149.                     x[4][n-1]++;  
  150.                 }  
  151.             }  
  152.                   
  153.                 if(n == 0)break;//如果输入为0,结束选菜;  
  154.         }  
  155.           
  156.     }  
  157.       
  158.     //打印相关信息  
  159.     printf("菜名\t\t\t单价(元)\t数量\t总价格(元)\n-----------------------------------\n");  
  160.     for (int i = 0; i < 5; i++) {  
  161.         for (int j = 0; j < 3; j++) {  
  162.             if (price1[i][j] != 0) {//用价格判断顾客是否选择 确认打印  
  163.                 printf("%s\t\t%3d\t\t%3d\t%3d\n",name[i][j],price[i][j],x[i][j],price1[i][j]);  
  164.                 total += price1[i][j];//计算总价格  
  165.             }  
  166.         }  
  167.     }  
  168.     printf("总价格:\t\t\t\t\t%3d\n",total);  
  169.     printf("祝您用餐愉快,期待您的下次光临!\n");  
  170.     return 0;  
  171. }  
Xcode中运行结果如下图:

到这里,这个项目的内容就展示完毕了,新学习的朋友可以研究下,相信会帮得到你们。


 
 
用c语言编写简单的餐厅点餐系统(带后台) 简单交互程序,c语言,指针,结构体 阅读详情

相关推荐

C语言结课设计:餐饮管理与点餐系统

一、项目简介 1、本程序实现了用户的点餐功能,共包含五类菜品:凉菜、热菜、锅仔、主食、饮品。还有查看所点菜品与结束等功能。 2、后台管理员:按a可进入,主页面并未提示。 3、合理运用getch函数,清屏与暂停函数,页面整洁清爽。 4、菜品与txt文件对应,可实现对程序与txt的同步增删改查等功能。 5、使用了C语言很多基础语法:函数、指针、结构体、文件等。 二、程序说明 想运行本程序,需要在.C同...

子奕°的博客 3万+

C语言程序设计-餐厅点餐系统

经过以上对本系统的调研及可行性分析后,下面将对系统在功能上以及性能上进行进一步的需求分析。功能:运行开始出现菜单模块,其中有四个选项,可以按相关的数字进行操作。2)点餐信息录入功能(点餐信息用文件保存)——输入;3)点餐信息浏览功能——输出;4)查询和结算功能——算法;1.设计题目:餐厅点餐系统。1)系统以菜单方式工作;

m0_54570435的博客 9762

大一C语言图形界面点餐系统

C语言课设

qq_38240445的博客 3965

c语言点餐怎么变量相加营业额,C语言实现餐饮管理与点餐系统

本文实例为大家分享了C语言实现餐饮管理与点餐系统的具体代码,供大家参考,具体内容如下一、项目简介1、本程序实现了用户的点餐功能,共包含五类菜品:凉菜、热菜、锅仔、主食、饮品。还有查看所点菜品与结束等功能。2、后台管理员:按a可进入,主页面并未提示。3、合理运用getch函数,清屏与暂停函数,页面整洁清爽。4、菜品与txt文件对应,可实现对程序与txt的同步增删改查等功能。5、使用了C语言很多基础语...

weixin_39834678的博客 447

c语言程序设计 点菜系统,C语言点餐系统

这是一个很简单的点餐系统,用到的知识也不复杂,所以对新手学习还是很有作用,贴上来给大家参考下。完成了如下功能:1.显示餐厅提示语;2.打印菜单(输出菜品分类:主食、甜点、饮料、主菜、开胃菜);3.选择ID进入菜品分类子目录;4.进行具体选择(可重复选择同一样菜);5.返回上级菜单(进行其他分类的选择);6.完成点餐;7.打印点餐信息(菜名、单价、数量、价格)。代码如下:#include void ...

weixin_36207513的博客 4072

c语言单链表餐厅点餐系统

餐厅点餐系统,允许用户录入顾客信息、点菜、结账等。用户可以通过主菜单选择不同的操作,包括录入顾客信息、搜索菜品、结算账单、录入菜品、搜索订单等。

weixin_64055968的博客 1067

智能点餐系统

基于使用c++封装类来实现智能点餐系统

hjvft的博客 1996

C语言开发的点餐系统实战指南

数组是一种基础且广泛使用的数据结构,它能够存储一系列相同类型的数据项,通过索引快速访问元素。在点餐系统中,数组常用于存储菜单项、订单详情和用户购物车信息。数组的主要优势在于其快速的随机访问能力和简洁的内存布局。例如,在菜单管理中,可以通过数组存储每个菜品的信息,并通过菜品编号快速查询菜品价格、描述等属性。// 示例:使用数组存储菜单项"宫保鸡丁","鱼香肉丝","清蒸鲈鱼",// ...在上述代码中,我们定义了一个字符串数组menuItems来存储菜单项名称。

weixin_42360733的博客 484

C/C++餐厅自动化点餐系统

【代码】C/C++餐厅自动化点餐系统。

2301_76817904的博客 2508

外卖系统C语言

C语言控制台编写外卖系统

C语言实现外卖管理系统

主要为大家详细介绍了C语言实现外卖管理系统,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

小学期项目(C语言)————外卖点餐系统(功能齐全)

纯C语言编写的外卖点餐系统,包含商家、客户、骑手三个对象,每个对象功能齐全,对象之间信息想通

yjz1314andyou的博客 3565

麒麟银河操作系统V10下ffmpeg的完整部署指南(兼容Linux系统)

本文提供在麒麟银河操作系统V10上从源码编译部署FFmpeg的完整指南,涵盖环境准备、核心依赖库(如x264)编译、FFmpeg本体配置安装、系统集成及常见问题排查。步骤详细,同样适用于Ubuntu、CentOS等主流Linux发行版,帮助用户打造功能强大的多媒体处理工具链。

weixin_29205061的博客 256

用c语言程序写一个电子点餐系统,基于C语言代码实现点餐系统

这是一个很简单的点餐系统,用到的知识也不复杂,所以对新手学习还是很有作用,贴上来给大家参考下。完成了如下功能:1.显示餐厅提示语;2.打印菜单(输出菜品分类:主食、甜点、饮料、主菜、开胃菜);3.选择ID进入菜品分类子目录;4.进行具体选择(可重复选择同一样菜);5.返回上级菜单(进行其他分类的选择);6.完成点餐;7.打印点餐信息(菜名、单价、数量、价格)。代码如下:#include void ...

weixin_31034309的博客 3191

五子棋AI算法第一篇-我对谷歌Alphago的看法

最近Google宣布他们的围棋AI以5:0的战绩打败欧洲围棋三冠王。我一直对人工智能比较感兴趣,正好趁年前空闲的几天用JS写了一个五子棋的AI。其实很久以前就用自创的算法写过一个JAVA版的五子棋AI,不过棋力很不理想。这次用的是JS写的,所以无论任何平台上只要能打开网页的都可以玩。google爆出这个新闻之后,很多人觉得这是不是意味着电脑智商已经在人类之上了,围棋已经没有意义了之类的。甚至觉得这是

言川的博客 2万+

使用兮克 2.5G 交换机将北京联通 EPON 改为 ODI 猫棒接入

最近入手了兮克2.5G交换机(兮克SKS1200-8GPY1XF),有 8 个 2.5G 电口和 1 个 10G SFP+ 光口;支持多种组网模式,其中一种是支持使用猫棒接入,由路由器拨号后再回接到交换机,这样就可以替换掉光猫了。

啦啦啦啦 la 1万+

c语言点餐系统的优缺点,一个简单C语言点餐系统的学习心得

软件工程综合实践专题个人博客第一次作业,这个系统来自https://blog.youkuaiyun.com/sinat_16590595/article/details/48245347,这是用c语言编写的一个点餐系统。首先附上源代码:1 #include 23 voidmain_munu(){4 //打印主菜单5 char a[6][20]={"菜单","凉菜","热销菜","主食","饭后...

weixin_39854369的博客 545

CarPlay无线连接背后的‘握手’秘密:深入解读iAP2协议与蓝牙/Wi-Fi协同

本文深入解析了CarPlay无线连接背后的技术细节,重点探讨了iAP2协议与蓝牙/Wi-Fi的协同工作原理。从蓝牙层的UUID识别到iAP2协议的握手过程,再到Wi-Fi热点的建立与优化,详细揭示了CarPlay无线连接的安全机制和调试方法,为开发者提供了实用的技术参考。

weixin_42520573的博客 475

c语言点餐系统感悟,一个简单C语言点餐系统的学习心得

首先附上源代码:1 #include 23 voidmain_munu(){4 //打印主菜单5 char a[6][20]={"菜单","凉菜","热销菜","主食","饭后甜点","饮料"};6 inti;7 printf("%s\n",a[0]);8 for(i=1;i<6;i++)9 {10 printf("\t%d.%s\n"...

weixin_35893552的博客 612

信号输入到底要不要接GND?单端与差分输入的接地选择与抗干扰分析

在电子工程与工业现场中,接地是信号完整性的基石。电压本身是相对值,任何测量都需要一个公共参考点,这就是地(GND)在信号输入中的核心作用。单端输入依赖信号源与接收端共地,以GND为基准还原信号;差分输入则直接测量两根信号线之间的差值,天然不依赖本地地电位,因此能有效抑制共模干扰和地环路噪声。实际选型时,需要根据传感器类型、传输距离、地电位差大小权衡:短距离共地良好的场景可用单端,长距离或高干扰环境应优先考虑差分或隔离方案。本文从接地原理出发,结合实际接线与故障排查经验,帮助工程师在PLC、采集卡和传感器链路

weixin_28703507的博客 311

FPGA DDR3实战(四):DDR地址映射自动化测试(1)—— 测试程序设计与代码逻辑

本文介绍了一种DDR地址映射自动化测试方案,旨在提高板卡调试效率。方案通过AXI4协议实现主从端通信,构建了包含地址控制器和测试数据生成器的模块化架构。测试程序支持突发传输、状态监控和错误检测,可灵活配置测试参数。采用状态机控制流程,先写入递增数据再读取比对,完成功能验证和性能评估。该方案可系统化验证DDR的正确性、稳定性和可靠性,相比传统手动测试显著提升效率。

FPGA_小田老师的博客 1978

c语言点餐程序,C语言实现点餐系统

#includeusing namespace std;typedef struct member{char username[20];//用户名char password[20];//密码}Member;typedef struct product{char name[20];//菜品名int price;int num;//销售数量}Product;/*菜单函数区*/void menu1();...

weixin_42497633的博客 1892

YOLOv8【第十章:多任务扩展深度篇·第16节】车道线检测——基于 YOLOv8-Seg 的车道线分割与拟合!

🏆 本文收录于 《YOLOv8实战:从入门到深度优化》 专栏。该专栏系统复现并梳理全网各类 YOLOv8 改进与实战案例(当前已覆盖分类 / 检测 / 分割 / 追踪 / 关键点 / OBB 检测等方向),坚持持续更新 + 深度解析,质量分长期稳定在 97 分以上,可视为当前市面上 覆盖较全、更新较快、实战导向极强 的 YOLO 改进系列内容之一。

**My Coding Family** 1万+

一个简单C语言点餐系统的学习心得

软件工程综合实践专题个人博客第一次作业,这个系统来自https://blog.youkuaiyun.com/sinat_16590595/article/details/48245347,这是用c语言编写的一个点餐系统。 首先附上源代码: 1 #include <stdio.h> 2 3 void main_munu(){ 4 //打印主菜单 5 cha...

weixin_30555515的博客 1528

三菱FX系列PLC模拟量输入AD模块的使用方法和相关编程设置详解

三菱FX系列PLC模拟量输入AD模块的使用方法和相关编程设置详解

Robot_PLC_HMI_Automation 1万+

Data-Structures-and-Algorithm-Analysis-in-Java.pdf

作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...

c语言实训论文 点餐系统,数据结构实训报告c语言点餐系统net.docx

北京联合大学数据结构实训报告课程名称 项目名称 学 院 姓 名 指导老师数据结构实训餐厅点餐系统管理学院业:信息管理与信息系统2011年1月13日目录TOC \o "1-5" \h \z 北京朕合大学1\o "Current Document" 数据结构实训报告1\o "Current Document" 一、实践题目3\o "Current Document" 二、实践目的3\o "Curren...

weixin_36312603的博客 1076

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

上一篇: 使用安装在linux端的loadgenerator,在controller加载并发人数受限的问题解决
下一篇: OC第一个程序的解释
Aurora Polaris
博客等级 码龄17年 384粉丝 91原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值