需求分析 

1.设计题目:餐厅点餐系统

2.系统功能需求分析:

经过以上对本系统的调研及可行性分析后,下面将对系统在功能上以及性能上进行进一步的需求分析。

功能:运行开始出现菜单模块,其中有四个选项,可以按相关的数字进行操作。

  1. 点餐模块: 可以完成一个或多个餐品的输入。
  2. 浏览点餐信息: 顾客可以以点菜品的相关信息,包括菜品的数量、价格、菜品代号、价格总计。
  3. 自主清空菜品信息: 顾客可以清空已点菜品
  4. 结算: 根据以点菜品推算顾客应付款数额。

5)返回主界面

2.概要设计

  题目简述

1)系统以菜单方式工作;

2)点餐信息录入功能(点餐信息用文件保存)——输入;

3)点餐信息浏览功能——输出;

4)查询和结算功能——算法;

功能模块图

程序代码

#include<stdio.h>
#include<iostream>
#include<fstream>
#include<string>
#include<conio.h>
#include<windows.h>int m;//用户选择的分类代号为m;
int n;//用户输入子菜单下的菜品代号为n;
int x[5][3] = {0};//每类菜品被点数量
int price1[5][3] = {0};//每种菜品的价格总价
int total = 0;//所有菜品总价 初始化为0;
int price[5][3] = {{12,15,13},{50,50,40},{20,20,10},{15,10,12},{8,8,5}};//每样菜品单价
char cainame[5][3][20] = {{"金针拌芹菜","浇汁豆腐","青椒拌干丝"},{"龙肝","凤髓","熊掌"},{"米","面","馒头"},{"小西点","布丁","冰淇淋"},{"可乐","雪碧","矿泉水"}};//字符数组,存放菜名void caidan_liangcai()
{char a[3][20]={"金针拌芹菜","浇汁豆腐","青椒拌干丝"};printf("请具体选择菜品:\n");for (int i = 0; i < 3; i ++) {printf("\t\t%d.%s\n",i+1,a[i]);}printf("\t\t0.返回上一页\n");
}
void caidan_zhuxiao()
{char a[3][20]={"龙肝","凤髓","熊掌"};printf("请具体选择菜品:\n");for (int i = 0; i < 3; i ++) {printf("\t\t%d.%s\n",i+1,a[i]);}printf("\t\t0.返回上一页\n");
}
void caidan_zhushi()
{char a[3][20]={"米","面","馒头"};printf("请具体选择菜品:\n");for (int i = 0; i < 3; i ++) {printf("\t\t%d.%s\n",i+1,a[i]);}printf("\t\t0.返回上一页\n");
}
void caidan_tiandian()
{char a[3][20]={"小西点","布丁","冰淇淋"};printf("请具体选择菜品:\n");for ( i = 0; i < 3; i ++) {printf("\t\t%d.%s\n",i+1,a[i]);}printf("\t\t0.返回上一页\n");
}
void caidan_yinpin()
{char a[3][20]={"可乐","雪碧","矿泉水"};printf("请具体选择菜品:\n");for (int i = 0; i < 3; i ++) {printf("\t\t%d.%s\n",i+1,a[i]);}printf("\t\t0.返回上一页\n");
}void jiesuan()
{int main();system("cls");int money,a;printf("您本次消费<%d>元!\n",total);printf("应付:\n");     printf("请支付:\n"); scanf("%d\n",&money);a=money-total;printf("待付%d\n",a); printf("*****按任意键返回主菜单!*****\n"); getch();  main();
}void clean()
{int main();system("cls");printf("菜名\t\t单价(元)\t数量\t总价格(元)\n");printf("***************************************************\n");for (int i = 0; i < 5; i++) {for (int j = 0; j < 3; j++) {if (price1[i][j] != 0) {printf("%d",price1[i][j]=0);}}}int tota1=0;printf("\n");printf("*********************清空成功!********************\n");printf("****************按任意键返回主菜单!***************\n");getch();main();
}void show()
{  int main();system("cls");int i;total=0;printf("菜名\t\t单价(元)\t数量\t总价格(元)\n");printf("***************************************************\n");for (int i = 0; i < 5; i++) {for (int j = 0; j < 3; j++) {if (price1[i][j] != 0) {printf("%s\t\t%3d\t\t%3d\t%3d\n",cainame[i][j],price[i][j],x[i][j],price1[i][j]);total += price1[i][j];FILE *fp;fp=fopen("file.txt","a");if (fp!=NULL)fprintf(fp,"%s",cainame[i][j]);fprintf(fp,"%d",price[i][j]);fprintf(fp,"%d",x[i][j]);fprintf(fp,"%d",price1[i][j]);fclose(fp);  }}}printf("总价格:\t\t\t\t\t%3d\n",total);FILE *fp;fp=fopen("file.txt","a");if (fp!=NULL)fprintf(fp,"%d",total);fclose(fp);   printf("***************按任意键返回主菜单!****************\n");getch();main();
}void diancan()
{int main();system("cls");printf("*****菜单*****\n");char a[5][20]={"凉菜","主菜","主食","甜点","饮品"};int i;for(i=0;i<5;i++){printf("%d.%s\n",i+1,a[i]);}printf("0.返回上层菜单\n");while (1) {scanf("%d",&m);switch (m) {case 1:{caidan_liangcai();while (1){scanf("%d",&n);if (n == 0) {//如果输入为0,跳出循环break;}                       price1[0][n-1] += price[0][n-1];x [0][n-1] ++; //统计每样菜品总价格和被点次数}diancan();}case 2:{caidan_zhuxiao();while (1) {scanf("%d",&n);if (n == 0) {break;}price1[1][n-1]+=price[1][n-1];x[1][n-1]++;}diancan();}case 3:{caidan_zhushi();while (1) {scanf("%d",&n);if (n == 0) {break;}price1[2][n-1] += price[2][n-1];x[2][n-1]++;}diancan();}case 4:{caidan_tiandian();while (1) {scanf("%d",&n);if (n == 0) {break;}price1[3][n-1] += price[3][n-1];x[3][n-1]++;}diancan();}case 5:{caidan_yinpin();while (1) {scanf("%d",&n);if (n == 0) {break;}price1[4][n-1] += price[4][n-1];x[4][n-1]++;}diancan();}       case 0:main();         default:printf("\n您的输入有误,请重新选择!\n");diancan();}        }
}int main()
{system("cls");printf("***** 塔罗餐厅 *****\n");printf("*****  为您服务 *****\n");printf("1、点餐\n");printf("2、查看已点\n");    printf("3、清空已点\n");printf("4、结算\n");printf("0、退出\n");int c;scanf("%d",&c);switch(c){case 1:diancan(); break;case 2:show(); break;case 3:clean(); break;case 4:jiesuan();break;case 0:exit(0);break;default: printf("\n您的输入有误,请重新选择!\n");main();}
}

C语言程序设计-餐厅点餐系统相关推荐

  1. c语言编程餐厅点餐系统,C语言实现餐饮管理与点餐系统.pdf

    C语语言言实实现现餐餐饮饮管管理理与与点点餐餐系系统统 本文实例为大家分享了C语言实现餐饮管理与点餐系统的具体代码,供大家参考,具体内 如下 一一..项项目目简简介介 1.本程序实现了用户的点餐功能, ...

  2. 用c语言编写简单的餐厅点餐系统(带后台)

    这应该是比较简单的c语言程序了,因为学校c语言结课结的早,我当时才学到结构体指针,所以我就把我当时能运用的知识点全用在这个程序上了.虽说这个程序对当时的我来说是天花板,但是当我继续学习,我逐渐发现这个 ...

  3. 饭店菜单选择c语言,求C语言大神,帮忙做一下这个题,要源代码设计实现一个餐厅点餐系统? 爱问知识人...

    求C语言大神,帮忙做一下这个题,要源代码 设计实现一个餐厅点餐系统,实现电子点餐.要求实现二级菜单: 一级菜单: 请选择: 1.点餐 2.查看已点菜品 3.添菜 求C语言大神,帮忙做一下这个题,要源代 ...

  4. 计算机毕业设计Java餐厅点餐系统(源码+系统+mysql数据库+lw文档)

    计算机毕业设计Java餐厅点餐系统(源码+系统+mysql数据库+lw文档) 计算机毕业设计Java餐厅点餐系统(源码+系统+mysql数据库+lw文档) 本源码技术栈: 项目架构:B/S架构 开发语 ...

  5. java springboot thymeleaf mysql餐厅点餐系统(还不错)

     博主介绍:✌在职Java研发工程师.专注于程序设计.源码分享.技术交流.专注于Java技术领域和毕业设计✌ 项目名称 java springboot thymeleaf mysql餐厅点餐系统(还不 ...

  6. mysql餐馆点餐系统_课内资源 - 基于Jsp和MySql的餐厅点餐系统

    1 总体概述 本设计主要通过HTML.CSS.JavaScript网页开发技术,会话及其会话技术,过滤器技术,Java语言以及连接mysql数据库来实现一个具有登录注册功能,且登录页面使用验证码技术来 ...

  7. 基于android餐馆点餐系统报告感想,基于Android的餐厅点餐系统的设计与实现

    摘要: 民以食为天,在日常的生活中,我们经常需要与家人,朋友,同事在一起就餐以便促进相互之间的感情.但是现在多数的餐厅企业基本上还是手工点餐操作,无法更好地适应新时期下人们对餐饮业服务的人性化和高效率 ...

  8. SpringBoot+vue实现前后端分离的餐厅点餐系统

    文末获取源码 开发语言:Java 开发工具:IDEA /Eclipse 数据库:MYSQL5.7 应用服务:Tomcat7/Tomcat8 使用框架:springboot+vue JDK版本:jdk1 ...

  9. Java swing实现的一款餐厅点餐系统

    一.项目简介 本项目是一套Java swing实现的一款餐厅点餐系统,主要针对计算机相关专业的正在做bishe的学生和需要项目实战练习的Java学习者. 包含:项目源码.数据库脚本等,该项目可以直接作 ...

最新文章

  1. 顺序查找(c/c++)
  2. android intent 5.1
  3. 毕业生该不该做软件开发这一行?
  4. win10 mysql 驱动无法使用吗_Windows10驱动无法使用是怎么回事
  5. TensorFlow 学习(三)—— Variables、Session、初始化
  6. 递归法:实现指数型枚举(二叉树递归)
  7. 【光学】Matlab实现色散曲线拟合
  8. matlab中表示矩阵的转置,注意Matlab中的矩阵转置(转)
  9. 计算机集成声卡输出通道,电脑如何屏蔽集成声卡使用独立声卡?
  10. HTML5之帆布(canvas)(三)
  11. 第19课:生活中的访问模式——一千个读者一千个哈姆雷特
  12. 笔记本手机都能用,轻松实现100W快充,AOHi 100W氮化镓PD 充电器体验
  13. 服务器之间的文件传输
  14. MATLAB 2020a中文版安装步骤(简洁版)
  15. Python制作翻译工具(程序员必备中英文翻译工具)
  16. ST官网获取并生成常用PCB EDA工具的原理图库和封装库方法
  17. nyoj995硬币找零完全背包
  18. 【markdown】markdown语法
  19. 模块化UPS与传统UPS电源的区别解析
  20. 2018普通本科专业目录计算机类,普通高等学校本科专业目录

热门文章

  1. python爬取阿里巴巴网站实现
  2. “ 试题管理系统”需求分析报告
  3. 计算机安全模式还原系统,Win10电脑安全模式怎么还原系统?Win10电脑安全模式还原系统方法步骤...
  4. [ Azure - IAM ] Azure 中的基于角色的访问控制 (RBAC) 与基于属性的访问控制 (ABAC)
  5. JetBrain系列软件的学生授权认证及认证到期重新申请授权
  6. Juniper 路由架构
  7. 1.HTML5文件的基本结构
  8. 软件汉化:ASCII quot;Registered Userquot;
  9. Fedora 常用软件推荐
  10. 微信转账记录删除了服务器还有吗,微信转账记录能彻底删除吗?你应该知道的删除技巧是这三种!...