餐饮业管理系统(基于C++的)
来源:互联网 发布:深圳淘宝模特拍摄 编辑:程序博客网 时间:2024/05/01 05:15
题目:餐饮业管理系统(基于C++的)
问题描述:
建立一个餐饮业管理系统,可以处理以下对象:
(1)餐馆基本信息
(2)顾客信息
(3)菜品信息
(4)服务员信息
设计一个餐饮业管理系统,使之能提供以下基本功能:
(1)查询餐馆的总信息。
(2)查询服务员的信息。
(3)查询顾客的信息。
(4)查询菜品信息
(5)增加顾客(顾客桌号、排队号、所点菜(若干))
(6)顾客结账。
(7)增加新的菜品
(8)增加服务员
2.设计思想
该餐厅管理系统共有四个类菜单类(Menus),顾客类(Customer),餐厅类(Reataurant),员工类(Waiter).每个类中都有相应的录入信息set()函数,查询信息search()函数。之后通过全局函数Set(),Search()来分情况调用不同类中的查询search()录入set()函数另外设有点餐order_dish()函数以及评价函数evaluate().
3.源代码
#include <iostream>
#include <fstream>
#include <iomanip>
#include <stdlib.h>
using namespace std;
class Restaurant
{
private:
char location[50];
char phone_number[20];
char evaluates[200];
public:
void Search();
void Set();
void evaluate();
};
class Customer
{
private:
int desk;
char dishes[20];
int queues;
char write_evaluate[200];
static int total;
public:
Customer();
void order();
void write();
};
class Waiter
{
private:
int job_number;
char name[25];
char sex[5];
char phone_number[20];
public:
void Search();
void Set();
};
class Menus
{
private:
static int sums;
int number;
int price;
char dish_name[30];
public:
friend void Customer::order();
void Search();
void Set();
void show();
};
int Customer::total=0;
int Menus::sums=0;
//****全局函数***//
void Menu()
{
cout<<endl;cout<<endl;cout<<endl;cout<<endl;cout<<endl;cout<<endl;
cout<<setw(40)<<"餐饮业管理系统"<<endl;
cout<<endl;
cout<<setw(50)<<"1**************信息查询*************"<<endl;
cout<<endl;
cout<<setw(50)<<"2**************信息录入*************"<<endl;
cout<<endl;
cout<<setw(50)<<"3**************顾客点餐*************"<<endl;
cout<<endl;
cout<<setw(50)<<"4**************顾客评价*************"<<endl;
cout<<endl;
cout<<setw(50)<<"0*************退出程序*************"<<endl;
cout<<endl;
}
void Search()
{
system("cls");
cout<<endl;cout<<endl;cout<<endl;cout<<endl;cout<<endl;
cout<<" 1 查询餐厅信息"<<endl;
cout<<endl;
cout<<" 2 查询服务员信息"<<endl;
cout<<endl;
cout<<" 3 查询菜单"<<endl;
cout<<endl;
cout<<" 4 查看评价"<<endl;
cout<<endl;
cout<<" 5 返回上一级菜单"<<endl;
cout<<endl;
cout<<" "<<"请选择:"<<endl;
int choice;
Restaurant restaurant;
Waiter waiter;
Menus dish;
cin>>choice;
switch(choice)
{
case 1: restaurant.Search();break;
case 2: waiter.Search();break;
case 3: dish.Search();break;
case 4: restaurant.evaluate();break;
case 5: Menu();break;
}
}
void Set()
{
system("cls");
cout<<endl<<endl<<endl<<endl;
cout<<" 1 添加菜品"<<endl<<endl;
cout<<" 2 添加服务员"<<endl<<endl;
cout<<" 3 添加餐厅信息"<<endl<<endl;
cout<<" 4 返回上一级菜单"<<endl<<endl;
cout<<" 请选择:"<<endl;
Menus dish;
int choice;
Waiter waiter;
Restaurant restaurant;
cin>>choice;
switch(choice)
{
case 1:dish.Set();break;
case 2:waiter.Set();break;
case 3:restaurant.Set();break;
case 4: Menu();break;
}
}
void orderdish()
{
Customer customer;
customer.order();
//system("cls");
Menu();
}
void customer_evaluate()
{
char evaluate[200];
cout<<"请评价:"<<endl;
cin>>evaluate;
ofstream out("evaluate.txt",ios::app);
out<<evaluate<<endl;
out.close();
Menu();
}
int main()
{
Menu();
do
{
cout<<"请输入你的选择:"<<endl;
int choice;
cin>>choice;
switch(choice)
{
case 1:Search();break;
case 2:Set();break;
case 3:orderdish();break;
case 4:customer_evaluate();break;
case 0:exit(1);break;
}
}while(1);
return 0;
}
Customer::Customer()
{
system("cls");
total++;
cout<<" 你当前排队号码为:"<<total<<endl<<endl;
}
void Customer::order()
{
int temp[50];
int j=0;
int sum =0;
char flag ='y';
int num =0;
Menus menu[50];
cout<<" 菜单"<<endl<<endl;
ifstream in ("Menus.txt");
int i=0;
while(in>>menu[i].number>>menu[i].dish_name>>menu[i].price)
{
cout<<" "<<menu[i].number<<setw(10)<<menu[i].dish_name<<setw(10)<<menu[i].price<<endl;
i++;
}
in.close();
while(flag == 'y')
{
cout<<"请点餐,选择相应编号:"<<endl;
cin>>temp[num];
num++;
cout<<"是否继续y or n"<<endl;
cin>>flag;
}
for(j=0;j<num;j++)
{
for(i=0;i<10;i++)
{
if(temp[j]==menu[i].number)
{
sum = sum + menu[i].price;
}
}
}
cout<<"总价钱:"<<sum<<endl;
}
void Waiter::Set()
{
system("cls");
char flag ='y';
do
{
cout<<"输入服务员的工号,姓名,性别,电话号码:"<<endl;
cin>>job_number>>name>>sex>>phone_number;
ofstream out("Waiter.txt",ios::app);
out<<job_number<<" "<<name<<" "<<sex<<" "<<phone_number<<endl;
out.close();
cout<<"是否继续是(y)否(n)"<<endl;
cin>>flag;
}while(flag == 'y');
Menu();
}
void Menus::Set()
{
system("cls");
char flag = 'y';
do
{
sums++;
cout<<"输入编号,菜名,价格"<<endl;
cin>>number>>dish_name>>price;
ofstream out("Menus.txt",ios::app);
out<<number<<" "<<dish_name<<" "<<price<<" "<<endl;
out.close();
cout<<"是否继续是(y)否(n)"<<endl;
cin>>flag;
}while(flag == 'y');
Menu();
}
void Restaurant::Set()
{
cout<<"输入餐厅位置,电话号码"<<endl;
cin>>location>>phone_number;
ofstream out("Restaurant.txt");
out<<location<<" "<<phone_number<<endl;
out.close();
Menu();
}
void Restaurant::Search()
{
system("cls");
cout<<endl<<endl;
ifstream in ("Restaurant.txt");
cout<<"地址"<<" "<<"联系电话"<<endl;
while(in>>location>>phone_number)
{
cout<<location<<" "<<phone_number<<endl;
}
in.close();
Menu();
}
void Restaurant::evaluate()
{
system("cls");
cout<<endl<<" 历史评价:"<<endl<<endl;
ifstream in("evaluate.txt");
while(in>>evaluates)
cout<<" "<<evaluates<<endl<<endl;
in.close();
Menu();
}
void Waiter::Search()
{
system("cls");
ifstream in("Waiter.txt");
cout<<endl<<endl;
cout<<" 工号"<<" "<<"姓名"<<" "<<"性别"<<" "<<"电话号码"<<endl;
while(in>>job_number>>name>>sex>>phone_number)
{
cout<<" "<<job_number<<" "<<name<<" "<<sex<<" "<<phone_number<<endl;
}
in.close();
Menu();
}
void Menus::Search()
{
system("cls");
ifstream in ("Menus.txt");
cout<<endl<<endl;
cout<<" 编号"<<setw(10)<<"菜名"<<setw(10)<<"价格"<<endl;
while(in>>number>>dish_name>>price)
{
cout<<" "<<number<<" "<<setw(10)<<dish_name<<setw(10)<<price<<endl;
}
in.close();
Menu();
}
一个简单的管理系统可自行添加其他功能
- 餐饮业管理系统(基于C++的)
- 基于C语言的学生管理系统
- 基于c语言的租金管理系统
- 基于文件管理的学生信息管理系统(C语言/C++)
- 基于C#、FTP和XML的实验室元器件管理系统
- 基于C语言的基础图书管理系统
- 基于C语言的食堂菜谱管理系统
- 数据化管理在餐饮业中的应用
- 职工管理系统的开发(C++)
- MySql--实战(基于qt的学生管理系统)
- 基于JAVA的图书管理系统(jsp+mysql+tomcat)
- 基于C语言的通讯管理系统的设计与实现
- C#下基于C/S架构的任务管理系统——开发安装
- 内存的管理艺术(基于C语言)1
- 内存的管理艺术(基于C语言)2
- 基于角色管理的系统访问控制
- 基于角色管理的系统访问控制
- 基于角色管理的系统访问控制
- Python模块的动态加载机制
- Java 数据结构记录
- CodeForces754D【贪心】
- 大数据内功修炼到企业实战2.0》全新完整版!!! 无加密,免费送!!!
- PMP考试中的27个固定套路|石泉老师16次考试经验总结
- 餐饮业管理系统(基于C++的)
- webpack使用css-loader?sourceMap导致font(eot、ttf)等无法加载问题
- MATLAB拟合中SSE,MSE,RMSE,R-square,Adjusted R-quuare含义
- FPGA时钟问题
- 用脚本显示drawcall
- 图的深度遍历
- 蓝桥杯 算法训练 JAM计数法
- 生日都能麻木过去的人一个小节日又能怎样,嘿(关于uCOS操作系统)
- [费用流对偶LP 单纯形] HihoCoder #1464 Challenge 26 Rikka with Flow