编写程序,包含以下功能
1增加菜品信息(编号、菜品名、类别、价格、受欢迎程度(0-10分))
2更新菜品信息(价格,受欢迎程度等)
3删除某个类别(类别删除后,此类别下的所有菜品都删除)
4删除某个菜品
5查找某个类别下的所有菜品
6统计评分最高的10个菜品,作为推荐菜显示。
已帮你完成所有代码实现,望采纳
下面是代码实现。这个代码实现包含上述功能,并且使用了一个简单的类来存储菜品信息,一个 map 来保存每个类别下的菜品,以及一个 vector 来存储所有菜品:
#include <iostream>
#include <map>
#include <string>
#include <vector>
using namespace std;
class Dish {
public:
// 构造函数
Dish(int id, const string& name, const string& category, double price,
int rating)
: id_(id),
name_(name),
category_(category),
price_(price),
rating_(rating) {
}
// 获取菜品 id
int getId() const {
return id_;
}
// 获取菜品名
string getName() const {
return name_;
}
// 获取菜品类别
string getCategory() const {
return category_;
}
// 获取菜品价格
double getPrice() const {
return price_;
}
// 获取菜品评分
int getRating() const {
return rating_;
}
// 设置菜品价格
void setPrice(double price) {
price_ = price;
}
// 设置菜品评分
void setRating(int rating) {
rating_ = rating;
}
private:
int id_;
string name_;
string category_;
double price_;
int rating_;
}
;
class Menu {
public:
// 构造函数
Menu() : next_id_(1) {
}
// 增加菜品信息
void addDish(const string& name, const string& category, double price,
int rating) {
dishes_[next_id_] = Dish(next_id_, name, category, price, rating);
category_dishes_[category].push_back(next_id_);
next_id_++;
}
// 更新菜品信息
void updateDish(int id, double price, int rating) {
// 找到菜品
auto it = dishes_.find(id);
if (it == dishes_.end()) {
// 没有找到菜品
return;
}
// 更新价格和评分
it->second.setPrice(price);
it->second.setRating(rating);
}
// 删除某个类别(类别删除后,此类别下的所有菜品都删除)
void deleteCategory(const string& category) {
// 找到类别
auto it = category_dishes_.find(category);
if (it == category_dishes_.end()) {
// 没有找到类别
return;
}
Copy code
// 删除所有属于该类别的菜品
for (int id : it->second) {
dishes_.erase(id);
}
// 删除该类别
category_dishes_.erase(it);
}
// 删除某个菜品
void deleteDish(int id) {
// 找到菜品
auto it = dishes_.find(id);
if (it == dishes_.end()) {
// 没有找到菜品
return;
}
// 从类别中删除该菜品
auto& category_dish = category_dishes_[it->second.getCategory()];
for (int i = 0; i < category_dish.size(); i++) {
if (category_dish[i] == id) {
category_dish.erase(category_dish.begin() + i);
break;
}
}
// 删除该菜品
dishes_.erase(it);
}
// 查找某个类别下的所有菜品
vector<Dish> findCategory(const string& category) const {
vector<Dish> result;
// 找到类别
auto it = category_dishes_.find(category);
if (it == category_dishes_.end()) {
// 没有找到类别
return result;
}
// 查找该类别下的所有菜品
for (int id : it->second) {
result.push_back(dishes_.at(id));
}
return result;
}
// 统计评分最高的10个菜品,作为推荐菜显示
vector<Dish> top10Dishes() const {
vector<Dish> result;
// 按评分排序所有菜品
vector<pair<int, int>> dishes_by_rating;
for (const auto& p : dishes_) {
dishes_by_rating.emplace_back(p.second.getRating(), p.first);
}
sort(dishes_by_rating.rbegin(), dishes_by_rating.rend());
// 取前 10 个
for (int i = 0; i < 10 && i < dishes_by_rating.size(); i++) {
result.push_back(dishes_.at(dishes_by_rating[i].second));
}
return result;
}
private:
int next_id_;
map<int, Dish> dishes_;
map<string, vector<int>> category_dishes_;
}
;
int main() {
// 创建菜单
Menu menu;
// 添加菜品
menu.addDish("牛排", "肉类", 38.0, 8);
menu.addDish("鱼香肉丝", "家常菜", 22.0, 9);
menu.addDish("水煮鱼", "川菜", 28.0, 8);
// 更新菜品信息
menu.updateDish(1, 40.0, 9);
// 删除某个类别
menu.deleteCategory("家常菜");
// 删除某个菜品
menu.deleteDish(3);
// 查找某个类别下的所有菜品
auto dishes = menu.findCategory("肉类");
cout << "肉类菜品:" << endl;
for (const auto& dish : dishes) {
cout << dish.getName() << endl;
}
// 统计评分最高的10个菜品,作为推荐菜显示
auto top10 = menu.top10Dishes();
cout << "推荐菜品:" << endl;
for (const auto& dish : top10) {
cout << dish.getName() << endl;
}
return 0;
}
可以参考一下,改一下关键字就ok了:
https://blog.csdn.net/weixin_60154963/article/details/123783365
c语言食堂菜谱管理系统,基于C语言的食堂菜谱管理系统
如有帮助,望采纳
https://blog.csdn.net/weixin_28709649/article/details/117213892
#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();
}
#include <iostream>
#include <fstream>
#include <iomanip>
#include <stdlib.h>
#include <string.h>
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("**********************主菜单**********************\t\n");
puts("\t\t1.增加新菜品\n");
puts("\t\t2.增加新顾客\n");
puts("\t\t3.顾客结账\n");
puts("\t\t4.显示顾客信息\n");
puts("\t\t5.显示菜品信息\n");
puts("\t\t6.修改顾客点菜信息\n");
puts("\t\t7.修改菜品信息\n");
puts("\t\t8.删除顾客\n");
puts("\t\t9.删除菜品\n");
puts("\t\t0.退出\n");
puts("**************************************************\t\n");
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<<"队内无顾客!"<<endl;
getchar();
getchar();
system("cls");
return;
}
else
cout<<"桌号"<<setw(10)<<"排队号码"<<setw(10)<<"菜名"<<setw(10)<<"账户余额"<<endl;
while(p!=NULL)
{
p->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<<"队内无顾客!"<<endl;
getchar();
getchar();
system("cls");
return;
}
else
{
p=front;
front=p->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"<<"桌号"<<setw(10)<<"排队号码"<<setw(10)<<"菜名"<<setw(10)<<"账户余额"<<endl;
cout<<p->data.table<<setw(10)<<p->data.queues<<setw(10)<<p->data.dishes<<setw(10)<<p->data.amount<<endl;
}
if(front==NULL)
rear=front;
getchar();
getchar();
system("cls");
}
void LQueue::correct_customer(LQueue *L)
{
int i=0,temp,numb,flag=0,flag1=0;
QNode *p,*q;
p=L->front;
q=front;
if(q==NULL)
cout<<"队列中无顾客!"<<endl;
else
{
cout<<"桌号"<<setw(10)<<"排队号码"<<setw(10)<<"菜名"<<setw(10)<<"账户余额"<<endl;
while(q!=NULL)
{
q->data.Printf();
q=q->next;
}
cout<<endl<<"请输入需要修改顾客的排队号码:"<<endl;
cin>>numb;
cout<<endl;
Menus menu[50];
cout<<"当前的菜品有:\n"<<"菜品编号"<<setw(10)<<"菜名"<<setw(10)<<"价格"<<endl;
ifstream in("Menus.txt");
while(in>>menu[i].number>>menu[i].dish_name>>menu[i].price)
{
cout<<" "<<menu[i].number<<setw(15)<<menu[i].dish_name<<setw(7)<<menu[i].price<<endl;
i++;
}
i=i-1;
temp=i;
cout<<endl;
while(p!=NULL)
{
if(numb==p->data.queues)
{
cout<<"当前顾客信息为:"<<endl;
cout<<"桌号"<<setw(10)<<"排队号码"<<setw(10)<<"菜名"<<setw(10)<<"账户余额"<<endl;
cout<<p->data.table<<setw(10)<<p->data.queues<<setw(10)<<p->data.dishes<<setw(10)<<p->data.amount<<endl<<endl;
flag1=1;
while(flag==0)
{
i=temp;
cout<<"请输入修改后的桌号、菜品、账户余额:"<<endl;
cin>>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<<"输入成功!"<<endl;
else
cout<<"菜单中没有此菜!"<<endl;
}
break;
}
else
p=p->next;
}
if(flag1==0)
cout<<"队伍中无此号码!"<<endl;
}
getchar();
getchar();
system("cls");
}
void LQueue::delete_customer(LQueue *L)
{
int numb,flag=0;
QNode *p,*q,*r;
p=L->front;
r=front;
if(r==NULL)
cout<<"队列中无顾客!"<<endl;
else
{
cout<<"桌号"<<setw(10)<<"排队号码"<<setw(10)<<"菜名"<<setw(10)<<"账户余额"<<endl;
while(r!=NULL)
{
r->data.Printf();
r=r->next;
}
cout<<"请输入需要删除顾客的排队号码:"<<endl;
cin>>numb;
cout<<endl;
while(p!=NULL)
{
if(numb==p->data.queues)
{
if(flag==0)
{
cout<<"此顾客信息为:"<<endl;
cout<<"桌号"<<setw(10)<<"排队号码"<<setw(10)<<"菜名"<<setw(10)<<"账户余额"<<endl;
cout<<p->data.table<<setw(10)<<p->data.queues<<setw(10)<<p->data.dishes<<setw(10)<<p->data.amount<<endl<<endl;
L->front=p->next;
}
else
{
cout<<"此顾客信息为:"<<endl;
cout<<"桌号"<<setw(10)<<"排队号码"<<setw(10)<<"菜名"<<setw(10)<<"账户余额"<<endl;
cout<<p->data.table<<setw(10)<<p->data.queues<<setw(10)<<p->data.dishes<<setw(10)<<p->data.amount<<endl<<endl;
q->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<<"队伍中无此号码!"<<endl;
}
getchar();
getchar();
system("cls");
}
LQueue::~LQueue()
{
delete rear;
}
Customer::Customer()
{
total++;
queues=total;
cout<<"您当前的排队号码为:"<<queues<<endl;
}
void Customer::order()
{
int i=0,temp,flag=0;
Menus menu[50];
cout<<"当前的菜品有:\n"<<"菜品编号"<<setw(10)<<"菜名"<<setw(10)<<"价格"<<endl;
ifstream in("Menus.txt");
while(in>>menu[i].number>>menu[i].dish_name>>menu[i].price)
{
cout<<" "<<menu[i].number<<setw(15)<<menu[i].dish_name<<setw(7)<<menu[i].price<<endl;
i++;
}
i=i-1;
temp=i;
while(flag==0)
{
i=temp;
cout<<"请输入该顾客桌号、菜品、账户余额:"<<endl;
cin>>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<<"输入成功!"<<endl;
else
cout<<"菜单中没有此菜!"<<endl;
}
}
void Customer::Printf()
{
cout<<table<<setw(10)<<queues<<setw(10)<<dishes<<setw(10)<<amount<<endl;
}
void Menus::show()
{
int i=0;
Menus menu[50];
cout<<"当前的菜品有:\n"<<"菜品编号"<<setw(10)<<"菜名"<<setw(10)<<"价格"<<endl;
ifstream in("Menus.txt");
while(in>>menu[i].number>>menu[i].dish_name>>menu[i].price)
{
cout<<" "<<menu[i].number<<setw(15)<<menu[i].dish_name<<setw(7)<<menu[i].price<<endl;
i++;
}
getchar();
getchar();
system("cls");
}
void Menus::Set()
{
sums++;
cout<<"请分别输入所增加的菜名和价格:"<<endl;
cin>>dish_name>>price;
number=sums;
ofstream out("Menus.txt",ios::app);
out<<number<<" "<<dish_name<<" "<<price<<" "<<endl;
cout<<"输入成功!"<<endl;
out.close();
getchar();
getchar();
system("cls");
}
void Menus::correct_menus()
{
int i=0,temp;
char name[20];
Menus menu[50];
cout<<"当前的菜品有:\n"<<"菜品编号"<<setw(10)<<"菜名"<<setw(10)<<"价格"<<endl;
ifstream in("Menus.txt");
while(in>>menu[i].number>>menu[i].dish_name>>menu[i].price)
{
cout<<" "<<menu[i].number<<setw(15)<<menu[i].dish_name<<setw(7)<<menu[i].price<<endl;
i++;
}
cout<<endl<<"请输入想要修改的菜品名:"<<endl;
cin>>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<<"请输入修改后的菜品编号、菜名、价格:"<<endl;
cin>>menu[i].number>>menu[i].dish_name>>menu[i].price;
outf<<endl;
break;
}
i++;
}
ofstream out("Menus.txt",ios::app);
for(i=0;i<temp;i++)
out<<menu[i].number<<" "<<menu[i].dish_name<<" "<<menu[i].price<<endl;
cout<<"输入成功!"<<endl;
getchar();
getchar();
system("cls");
}
void Menus::delete_menus()
{
int i=0,temp,tempi;
char name[20];
Menus menu[50];
cout<<"当前的菜品有:\n"<<"菜品编号"<<setw(10)<<"菜名"<<setw(10)<<"价格"<<endl;
ifstream in("Menus.txt");
while(in>>menu[i].number>>menu[i].dish_name>>menu[i].price)
{
cout<<" "<<menu[i].number<<setw(15)<<menu[i].dish_name<<setw(7)<<menu[i].price<<endl;
i++;
}
cout<<endl<<"请输入想要删除的菜品名:"<<endl;
cin>>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<<endl;
break;
}
i++;
}
ofstream out("Menus.txt",ios::app);
for(i=0;i<temp;i++)
{
if(tempi==i)
continue;
out<<menu[i].number<<" "<<menu[i].dish_name<<" "<<menu[i].price<<endl;
}
cout<<"输入成功!"<<endl;
getchar();
getchar();
system("cls");
}
void Menus::renew_menus()
{
int i=0,temp;
Menus menu[50];
ifstream in("Menus_renew.txt");
while(in>>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<temp;i++)
out<<menu[i].number<<" "<<menu[i].dish_name<<" "<<menu[i].price<<endl;
cout<<"谢谢使用本系统!"<<endl;
}