【题目】自助点餐系统

【目的】
通过设计一个小型的自助点餐系统,训练综合运用所学知识处理实际问题的能力,强化面向对象的程序设计理念,使自己的程序设计与调试水平有一个明显的提高。

【要求】
1、每个学生必须独立完成;
2、课程设计时间为1周;
3、设计语言采用C++;
4、学生有事离校必须请假。课程设计期间,无故缺席按旷课处理;缺席时间达四分之一以上者,未按规定上交实验报告的学生,其成绩按不及格处理。

【内容简介】
有一个小型餐厅,现在这个餐厅打算使用自助点餐系统,方便顾客自己点餐,并提供对餐厅销售情况的统计和管理功能。

【考核标准】
该系统为两种角色的用户提供服务,一种是餐厅管理员,一种是顾客。餐厅管理员根据账号、密码登录系统。顾客无需登录即可使用系统。
1、顾客通过该餐厅在系统中提供的菜单为自己点餐,菜单以文件形式保存。系统能够根据顾客的要求正确打出订单,订单内容包括订单编号、菜品名称、每个菜品的价格、份数、折扣等;订单分两种,一种是在店消费,在店消费要求包括餐桌号,是否有包厢费,另一种是外卖,外卖要求包括送餐时间,送餐地点,客户手机号,外卖服务费。(要求用继承和多态实现),成绩≥60;
2、系统退出后能保存当天的订单信息,要求每天一个文档,文档名按照日期命名。餐厅管理员可以根据订单编号查找删除修改某个订单,订单可以按照下单时间先后排序,成绩≥70;
3、能够实现对餐厅菜式和价格的管理,包括对菜品和对应价格的增加、修改、删除、查找,折扣的设置,成绩≥80;
4、系统可根据历史记录对销售情况进行统计,根据餐厅管理员的输入日期统计某天的销售情况并显示(包括一共接了多少单,销售额是多少,各个菜品的销售情况,外卖和在店销售的占比),成绩≥90;
要求:
用面向对象的程序设计方法设计该系统。本系统涉及的基本对象有订单对象(包括外卖订单和在店消费订单)、订单管理对象、菜单对象、菜品对象、菜品管理对象、系统界面。实现对这些对象的合理抽象和封装,正确定义类之间的关系。界面合理,代码文件组织清晰,命名符合规范,代码注释清楚,课设报告书质量高。

面向对象程序课程设计
目 录

一、题目
二、需求分析
三、系统结构图
四、类的设计
五、程序代码与说明
六、运行结果与分析
七、心得与体会

一、 题目
自助点餐系统
二、 需求分析
1.管理员管理
a.订单管理
管理员对订单的管理包括订单的查询、修改和删除。
b.菜单管理
管理员对菜单的管理包括对菜单中各项信息的增加、修改、删除和查找。
c.历史销售情况统计
2.客户点餐
a.设置订单
客户点菜,以及选择是在店消费还是外卖,都是通过设置订单来实现。
b.订单打印
在客户设置订单即点餐结束后,需要将订单各项信息打印出来即显示到屏幕上。
c.订单保存
在客户设置订单结束后,需要将订单保存至当天建立的以日期为文件名的文档当中,以便管理员的其他操作。
3.界面管理
a.用户身份选择
用户需选择客户/管理员身份,若是管理员还需要输入账号密码验证。
三、 系统结构图

四、 类的设计

五、业务流程图

六、 程序代码与说明

system.h:
#ifndef SYSTEM_H_INCLUDED
#define SYSTEM_H_INCLUDED
#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <vector>
#include <map>
#include <time.h>
using namespace std;class Menu      //菜单类
{public:string number;string name;string price;string discount;Menu(string a,string b,string c,string d) {number=a,name=b,price=c,discount=d;}void out_file(string file_name);void cout_menu();bool operator < (const Menu& a) const{return atoi(number.c_str())<atoi((a.number).c_str());}
};class Base_orders   //订单基类
{public:string order_number;string dish_number;string dish_name;string dish_price;string dish_discount;int amount;double total_price=0;void out_file_eachDish(string file_name);void cout_orders();
};class Takeaway_orders:public Base_orders    //外卖订单类
{public:string takeaway_time,takeaway_place,takeaway_phone;int takeaway_delivery_fee=10;Takeaway_orders(string a,string b,string c,string d,string e,int j) {order_number=a,dish_number=b,dish_name=c,dish_price=d,dish_discount=e,amount=j;}bool operator < (const Takeaway_orders& a) const{return atoi(dish_number.c_str())<atoi((a.dish_number).c_str());}
};class Atshop_orders:public Base_orders      //在店消费订单类
{public:int atshop_room_fee=0;string atshop_table;Atshop_orders(string a,string b,string c,string d,string e,int h) {order_number=a,dish_number=b,dish_name=c,dish_price=d,dish_discount=e,amount=h;}bool operator < (const Atshop_orders& a) const{return atoi(dish_number.c_str())<atoi((a.dish_number).c_str());}
};class Interface     //交互界面类
{public:static int choose();static void administrator_show();static void customer_show();
};class Customer      //顾客类
{private:vector<Takeaway_orders> vec_Takeaway_orders;vector<Atshop_orders> vec_Atshop_orders;
public:string order_number;void order();
};class Administrator //管理员类
{private:vector <Menu> vec_menu;vector<Takeaway_orders> total_Takeaway_orders;vector<Atshop_orders> total_Atshop_orders;
public:void find_orders();void modify_orders();void delete_orders();void import_menu();void add_menu();void modify_menu();void delete_menu();void find_menu();void sales_statistics();
};class Manage    //系统类
{private:Customer customer;Administrator administrator;
public:void manage();
};#endif // SYSTEM_H_INCLUDED
system.cpp:
#include <iostream>
#include <fstream>
#include <cstdio>
#include <string>
#include <cstring>
#include <vector>
#include <time.h>
#include <windows.h>
#include <iomanip>
#include <algorithm>
#include "system.h"void Manage::manage()
{administrator.import_menu();    //菜单全部从文件写入到vector容器中int today_order_number=0;       //记录日销售编号,后面生成订单编号有用for(;;){int Return=Interface::choose();if(Return==1){Interface::administrator_show();int admin_op;cin>>admin_op;if(admin_op==1)administrator.find_orders();if(admin_op==2){administrator.modify_orders();remove("temp.txt");}if(admin_op==3){administrator.delete_orders();remove("temp.txt");}if(admin_op==4)administrator.add_menu();if(admin_op==5)administrator.modify_menu();if(admin_op==6)administrator.delete_menu();if(admin_op==7)administrator.find_menu();if(admin_op==8)administrator.sales_statistics();if(admin_op==9)Interface::customer_show();}else if(Return==2){today_order_number++;if(today_order_number<10)customer.order_number="00"+to_string(today_order_number);else if(today_order_number>=10&&today_order_number<100)customer.order_number="0"+to_string(today_order_number);else if(today_order_number>=100&&today_order_number<1000)customer.order_number=to_string(today_order_number);Interface::customer_show();customer.order();}int manage_op;cout<<"是否继续:1.继续    2.退出"<<endl;cin>>manage_op;cout<<endl;if(manage_op==2)break;}//当天结束创建当天的菜单,最后统计历史菜品销售情况需要用到SYSTEMTIME st = {0};GetLocalTime(&st);int date=((st.wYear*100+st.wMonth)*100+st.wDay);string file_name=to_string(date)+"_menu.txt";ifstream fin("menu.txt");ofstream out(file_name,ios::app);string str;while(getline(fin,str)){out<<str<<endl;}
}int Interface::choose()
{int op1;string account_number;string password;ifstream fin("account_number&password.txt");cout<<"请选择身份:1.管理员    2.顾客"<<endl;cin>>op1;if(op1==1){string file_account_number;string file_password;string str;getline(fin,str);getline(fin,file_account_number);getline(fin,str);getline(fin,file_password);cout<<"请输入账号:";cin>>account_number;cout<<"请输入密码:";cin>>password;if(file_account_number==account_number&&file_password==password) //通过和文件中的用户名和密码对照{return 1;}else{cout<<"账号或密码输入错误"<<endl;}}else if(op1==2){return 2;//顾客直接进入点餐界面}return 0;
}void Interface::administrator_show()
{cout<<"请选择操作(菜单修改请务必在每天营业前):"<<endl;cout<<"1.查找订单             2.修改订单             3.删除订单"<<endl;cout<<"4.菜品/价格/折扣增加   5.菜品/价格/折扣修改   6.菜品/价格/折扣删除   7.菜品/价格/折扣查找"<<endl;cout<<"8.销售情况统计"<<endl;cout<<"9.菜单展示"<<endl;cout<<"0.退出"<<endl;
}void Interface::customer_show()
{ifstream fin("menu.txt");string str;cout<<"菜单:"<<endl;cout<<std::left<<setw(15)<<"number\t"<<std::left<<setw(21)<<"name\t"<<std::left<<setw(16)<<"price"<<std::left<<setw(15)<<"discount"<<endl;while(getline(fin,str))cout<<str<<endl;fin.close();
}void Menu::out_file(string file_name)
{ofstream out(file_name,ios::app);out<<std::left<<setw(15)<<number<<"\t";out<<std::left<<setw(20)<<name<<"\t";out<<std::left<<setw(15)<<price<<"\t";out<<std::left<<setw(15)<<discount<<endl;
}void Menu::cout_menu()
{cout<<std::left<<setw(15)<<number;cout<<std::left<<setw(20)<<name;cout<<std::left<<setw(15)<<price;cout<<std::left<<setw(15)<<discount<<endl;
}void Base_orders::out_file_eachDish(string file_name)
{ofstream out(file_name,ios::app);out<<std::left<<setw(15)<<dish_number<<"\t";out<<std::left<<setw(20)<<dish_name<<"\t";out<<std::left<<setw(15)<<dish_price<<"\t";out<<std::left<<setw(15)<<dish_discount<<"\t";out<<std::left<<setw(15)<<amount<<endl;
}void Base_orders::cout_orders()
{cout<<std::left<<setw(15)<<dish_number<<"\t";cout<<std::left<<setw(20)<<dish_name<<"\t";cout<<std::left<<setw(15)<<dish_price<<"\t";cout<<std::left<<setw(15)<<dish_discount<<"\t";cout<<std::left<<setw(15)<<amount<<endl;
}void Customer::order()
{int consume_op;int room_op;string atshop_tab;string takeaway_tim,takeaway_plac,takeaway_phon;double total_pric=0;double atshop_room_fe=0;double takeaway_delivery_fe=0;int date;string dish_num;int dish_amount;string dish_nam;string dish_pri;string dish_disc;SYSTEMTIME st = {0};GetLocalTime(&st);date=((st.wYear*100+st.wMonth)*100+st.wDay);order_number=to_string(date)+order_number;string file_name=to_string(date)+".txt";ifstream fin("menu.txt");ofstream out(file_name,ios::app);cout<<"请选择消费方式:1.在店消费  2.外卖"<<endl;cin>>consume_op;cout<<"请输入所选择的菜品序号和份数(操作指南:输入'0 0'表示完成点餐):"<<endl;vec_Takeaway_orders.clear();vec_Atshop_orders.clear();string str;for(;;){cin>>dish_num>>dish_amount;int i=0;int flag=0;ifstream fin2("menu.txt");while(fin2>>str){i++;if(i==1){if(dish_num==str)flag=1;}if(flag==1){if(i==2)dish_nam=str;if(i==3)dish_pri=str;if(i==4){dish_disc=str;if(consume_op==1){Atshop_orders atshop_ord(order_number,dish_num,dish_nam,dish_pri,dish_disc,dish_amount);vec_Atshop_orders.push_back(atshop_ord);sort(vec_Atshop_orders.begin(),vec_Atshop_orders.end());}else if(consume_op==2){Takeaway_orders takeaway_ord(order_number,dish_num,dish_nam,dish_pri,dish_disc,dish_amount);vec_Takeaway_orders.push_back(takeaway_ord);sort(vec_Takeaway_orders.begin(),vec_Takeaway_orders.end());}flag=0;}}if(i==4)i=0;}if(dish_num=="0"&&dish_amount==0)break;}if(consume_op==1){cout<<"请选择餐桌号:"<<endl;cin>>atshop_tab;cout<<"是否包厢:1.是     2.否"<<endl;cin>>room_op;if(room_op==1)atshop_room_fe=100;}else if(consume_op==2){takeaway_delivery_fe=10;cout<<"请输入送餐时间、送餐地点、手机号:"<<endl;cin>>takeaway_tim>>takeaway_plac>>takeaway_phon;}total_pric=atshop_room_fe+takeaway_delivery_fe;if(consume_op==1){for(int i=0;i<vec_Atshop_orders.size();i++){vec_Atshop_orders[i].atshop_table=atshop_tab;vec_Atshop_orders[i].atshop_room_fee=atshop_room_fe;total_pric+=atof((vec_Atshop_orders[i].dish_price).c_str())*atof((vec_Atshop_orders[i].dish_discount).c_str())*vec_Atshop_orders[i].amount;}for(int i=0;i<vec_Atshop_orders.size();i++){vec_Atshop_orders[i].total_price=total_pric;}out<<"编号:"<<endl;out<<order_number<<endl;out<<"所点菜单:"<<endl;out<<std::left<<setw(23)<<"number\t"<<std::left<<setw(21)<<"name\t"<<std::left<<setw(22)<<"price\t"<<std::left<<setw(25)<<"discount\t"<<std::left<<setw(16)<<"amount"<<endl;for(int i=0;i<vec_Atshop_orders.size();i++)vec_Atshop_orders[i].out_file_eachDish(file_name);out<<"餐桌号: "<<atshop_tab<<endl;if(room_op==1)out<<"是否有包厢费: 是"<<endl<<"包厢费: "<<atshop_room_fe<<endl;if(room_op==2)out<<"是否有包厢费: 否"<<endl;out<<"总价: "<<setiosflags(ios::fixed)<<setprecision(2)<<total_pric<<endl<<endl;cout<<endl<<"编号:"<<endl;cout<<order_number<<endl;cout<<"所点菜单:"<<endl;cout<<std::left<<setw(15)<<"number\t"<<std::left<<setw(21)<<"name\t"<<std::left<<setw(16)<<"price"<<std::left<<setw(16)<<"discount"<<std::left<<setw(16)<<"amount"<<endl;for(int i=0;i<vec_Atshop_orders.size();i++)vec_Atshop_orders[i].cout_orders();cout<<"餐桌号: "<<atshop_tab<<endl;if(room_op==1)cout<<"是否有包厢费: 是"<<endl<<"包厢费: "<<atshop_room_fe<<endl;if(room_op==2)cout<<"是否有包厢费: 否"<<endl;cout<<"总价: "<<setiosflags(ios::fixed)<<setprecision(2)<<total_pric<<endl<<endl;}else if(consume_op==2){for(int i=0;i<vec_Takeaway_orders.size();i++){vec_Takeaway_orders[i].takeaway_time=takeaway_tim;vec_Takeaway_orders[i].takeaway_place=takeaway_plac;vec_Takeaway_orders[i].takeaway_phone=takeaway_phon;total_pric+=atof((vec_Takeaway_orders[i].dish_price).c_str())*atof((vec_Takeaway_orders[i].dish_discount).c_str())*vec_Takeaway_orders[i].amount;}for(int i=0;i<vec_Takeaway_orders.size();i++){vec_Takeaway_orders[i].total_price=total_pric;}out<<"编号:"<<endl;out<<order_number<<endl;out<<"所点菜单:"<<endl;out<<std::left<<setw(23)<<"number\t"<<std::left<<setw(21)<<"name\t"<<std::left<<setw(22)<<"price\t"<<std::left<<setw(25)<<"discount\t"<<std::left<<setw(16)<<"amount"<<endl;for(int i=0;i<vec_Takeaway_orders.size();i++)vec_Takeaway_orders[i].out_file_eachDish(file_name);out<<"送餐时间: "<<takeaway_tim<<endl;out<<"送餐地点: "<<takeaway_plac<<endl;out<<"联系电话: "<<takeaway_phon<<endl;out<<"外卖服务费: "<<takeaway_delivery_fe<<endl;out<<"总价: "<<setiosflags(ios::fixed)<<setprecision(2)<<total_pric<<endl<<endl;cout<<endl<<"编号:"<<endl;cout<<order_number<<endl;cout<<"所点菜单:"<<endl;cout<<std::left<<setw(15)<<"number\t"<<std::left<<setw(21)<<"name\t"<<std::left<<setw(16)<<"price"<<std::left<<setw(16)<<"discount"<<std::left<<setw(16)<<"amount"<<endl;for(int i=0;i<vec_Takeaway_orders.size();i++)vec_Takeaway_orders[i].cout_orders();cout<<"送餐时间: "<<takeaway_tim<<endl;cout<<"送餐地点: "<<takeaway_plac<<endl;cout<<"联系电话: "<<takeaway_phon<<endl;cout<<"外卖服务费: "<<takeaway_delivery_fe<<endl;cout<<"总价: "<<setiosflags(ios::fixed)<<setprecision(2)<<total_pric<<endl<<endl;}
};void Administrator::find_orders()
{string find_orders_date;string find_orders_number;cout<<"请输入要操作的日期:"<<endl;cin>>find_orders_date;string file_name=find_orders_date+".txt";cout<<"请输入要查找的订单号:"<<endl;cin>>find_orders_number;ifstream fin(file_name);string str;int flag=0;cout<<"编号:"<<endl;int cout_num=0;while(getline(fin,str)){if(str==find_orders_number){flag=1;}if(str=="编号:"){flag=0;}if(flag==1&&cout_num!=2){cout<<str<<endl;cout_num++;continue;}if(cout_num==2){cout<<std::left<<setw(15)<<"number\t"<<std::left<<setw(21)<<"name\t"<<std::left<<setw(16)<<"price"<<std::left<<setw(16)<<"discount"<<std::left<<setw(16)<<"amount"<<endl;cout_num++;}}
}void Administrator::modify_orders()
{string find_orders_date;string find_orders_number;cout<<"请输入要操作的日期:"<<endl;cin>>find_orders_date;string file_name=find_orders_date+".txt";cout<<"请输入要修改的订单号:"<<endl;cin>>find_orders_number;ifstream fin(file_name);ofstream out("temp.txt",ios::app);string str;int flag=0;while(getline(fin,str)){if(str==find_orders_number){out<<str<<endl;flag=1;}if(str=="编号:"){flag=0;}if(flag==0){out<<str<<endl;}if(flag==1){cout<<"请输入修改后的订单:"<<endl;cout<<"编号:"<<endl<<str<<endl;string modify_str;int exit_flag=1;while(exit_flag==1){cin.ignore();getline(cin,modify_str);out<<modify_str<<endl;cout<<"是否继续:1.继续    2.退出"<<endl;cin>>exit_flag;}out<<endl;flag=2;}}fstream file(file_name, ios::out);ifstream fin2("temp.txt");ofstream out2(file_name,ios::app);while(getline(fin2,str)){out2<<str<<endl;}
}void Administrator::delete_orders()
{string find_orders_date;string find_orders_number;cout<<"请输入要操作的日期:"<<endl;cin>>find_orders_date;string file_name=find_orders_date+".txt";cout<<"请输入要删除的订单号:"<<endl;cin>>find_orders_number;ifstream fin(file_name);ofstream out("temp.txt",ios::app);string str;int flag=0;int total_orders=0;while(getline(fin,str)){if(str==find_orders_number){flag=1;}if(flag==0){out<<str<<endl;}if(str=="编号:"){total_orders++;flag=0;}}fstream file(file_name, ios::out);ifstream fin2("temp.txt");ofstream out2(file_name,ios::app);int out_bianhao=0;while(getline(fin2,str)){if(str=="编号:")out_bianhao++;if(out_bianhao==total_orders)continue;out2<<str<<endl;}
}void Administrator::sales_statistics()
{string find_orders_date;
string find_orders_number;
int statistics_total_orders=0;double statistics_total_money=0,statistics_takeaway_money=0,statistics_atshop_money=0,statistics_takeaway_percent=0,statistics_atshop_percent=0;map<string,int> each_dish;cout<<"请输入要统计的日期:"<<endl;cin>>find_orders_date;string file_name=find_orders_date+".txt";ifstream fin(file_name);string str;string each_dish_str;each_dish.clear();int flag=0;int flag_takeaway=0;int flag_atshop=0;int flag_each_dish=0;int i=0;while(fin>>str){if(str=="编号:"){statistics_total_orders++;}if(flag==1&&flag_takeaway==1){statistics_total_money+=stof(str);statistics_takeaway_money+=stof(str);flag=0;flag_takeaway=0;}if(flag==1&&flag_atshop==1){statistics_total_money+=stof(str);statistics_atshop_money+=stof(str);flag=0;flag_atshop=0;}if(str=="总价:"){flag=1;}if(str=="送餐时间:"){flag_takeaway=1;}if(str=="餐桌号:"){flag_atshop=1;}if(flag_each_dish==1){i++;if(str=="送餐时间:"||str=="餐桌号:"){flag_each_dish=0;}if(i==1&&flag_each_dish==1){each_dish_str=str;}if(i==5&&flag_each_dish==1){each_dish[each_dish_str]+=atoi(str.c_str());i=0;}}if(str=="amount"){flag_each_dish=1;i=0;}}statistics_takeaway_percent=statistics_takeaway_money/statistics_total_money;statistics_atshop_percent=statistics_atshop_money/statistics_total_money;cout<<"销售情况:"<<endl;cout<<"接单总数:"<<statistics_total_orders<<endl;cout<<"总销售额:"<<setiosflags(ios::fixed)<<setprecision(2)<<statistics_total_money<<endl;cout<<"外卖销售额占比:"<<setiosflags(ios::fixed)<<setprecision(2)<<statistics_takeaway_percent<<endl;cout<<"在店销售额占比:"<<setiosflags(ios::fixed)<<setprecision(2)<<statistics_atshop_percent<<endl;cout<<"各个菜品销售情况:"<<endl;file_name=find_orders_date+"_menu.txt";ifstream fin2(file_name);i=0;while(fin2>>str){i++;if(i==1){cout<<std::left<<setw(16)<<str;each_dish_str=str;}else if(i==2)cout<<std::left<<setw(16)<<str;else if(i==3)cout<<std::left<<setw(16)<<str;else if(i==4){cout<<std::left<<setw(16)<<str;cout<<each_dish[ each_dish_str ]<<endl;i=0;}}
}void Administrator::import_menu()
{ifstream fin("menu.txt");string str;string number,name,price,discount;int i=0;while(fin>>str){if(i==0){number=str;i++;}else if(i==1){name=str;i++;}else if(i==2){price=str;i++;}else if(i==3){discount=str;i=0;Menu menu(number,name,price,discount);vec_menu.push_back(menu);}}
}void Administrator::add_menu()
{string number,name,price,discount;cout<<"请依次输入要添加的菜品的序号、名称、价格、折扣;"<<endl;cin>>number>>name>>price>>discount;Menu menu(number,name,price,discount);vec_menu.push_back(menu);sort(vec_menu.begin(),vec_menu.end());menu.out_file("menu.txt");
}void Administrator::modify_menu()
{string modify_menu_num_str;int modify_menu_num_int;string number,name,price,discount;cout<<"请输入需要修改的菜品/价格/折扣序号:"<<endl;cin>>modify_menu_num_str;modify_menu_num_int=atoi(modify_menu_num_str.c_str());vec_menu.erase(vec_menu.begin() + (modify_menu_num_int-1));cout<<"请输入修改后的菜品名称、价格、折扣:"<<endl;cout<<modify_menu_num_str<<"  ";cin>>name>>price>>discount;Menu menu(modify_menu_num_str,name,price,discount);vec_menu.push_back(menu);sort(vec_menu.begin(),vec_menu.end());fstream file("menu.txt", ios::out);for(int i=0;i<vec_menu.size();i++){vec_menu[i].out_file("menu.txt");}
}void Administrator::delete_menu()
{string delete_menu_num_str;int delete_menu_num_int;cout<<"请输入需要删除的菜品序号:"<<endl;cin>>delete_menu_num_str;delete_menu_num_int=atoi(delete_menu_num_str.c_str());for(int i=vec_menu.size()-1;i>=delete_menu_num_int;i--){vec_menu[i].number=vec_menu[i-1].number;}vec_menu.erase(vec_menu.begin() + (delete_menu_num_int-1));sort(vec_menu.begin(),vec_menu.end());fstream file("menu.txt", ios::out);for(int i=0;i<vec_menu.size();i++){vec_menu[i].out_file("menu.txt");}
}void Administrator::find_menu()
{int find_menu_num_int;cout<<"请输入需要查找的菜品序号:"<<endl;cin>>find_menu_num_int;vec_menu[find_menu_num_int-1].cout_menu();
}main.cpp:
#include <iostream>
#include <cstdio>
#include <string>
#include <cstring>
#include <bits/stdc++.h>
#include "system.h"
using namespace std;
int main()
{Manage M;M.manage();return 0;
}

c++课程设计自助点餐系统相关推荐

  1. 【C++课程设计——自助点餐系统】主页及登录界面

    #include<iostream> using namespace std; class Page{private:string username="admin";s ...

  2. Python课程设计:点餐系统

    开篇 来了来了,又到了准备烦人的期末python课程设计的时候了,我相信你一定是摆烂了好久了吧,哈哈哈哈! 被我猜到了吧!不过不要担心!本初学者为大家奉上一个完全应付大作业的小代码啦! 话不多说!正文 ...

  3. 基于 B/S 架构自助点餐系统的设计与实现

    1.1 目的和意义 根据对目前社会上餐饮行业的了解, 传统的餐饮管理现在已经很难应对当今社会对餐饮业的管理要求, 它与现在的基于计算机技术发展起来的餐饮信息管理系统对比, 有以下几大不同: 便捷性方面 ...

  4. java计算机毕业设计喜枫日料店自助点餐系统源码+系统+数据库+lw文档+mybatis+运行部署

    java计算机毕业设计喜枫日料店自助点餐系统源码+系统+数据库+lw文档+mybatis+运行部署 java计算机毕业设计喜枫日料店自助点餐系统源码+系统+数据库+lw文档+mybatis+运行部署 ...

  5. java计算机毕业设计喜枫日料店自助点餐系统源代码+数据库+系统+lw文档

    java计算机毕业设计喜枫日料店自助点餐系统源代码+数据库+系统+lw文档 java计算机毕业设计喜枫日料店自助点餐系统源代码+数据库+系统+lw文档 本源码技术栈: 项目架构:B/S架构 开发语言: ...

  6. java计算机毕业设计喜枫日料店自助点餐系统源码+数据库+lw文档+系统+部署

    java计算机毕业设计喜枫日料店自助点餐系统源码+数据库+lw文档+系统+部署 java计算机毕业设计喜枫日料店自助点餐系统源码+数据库+lw文档+系统+部署 本源码技术栈: 项目架构:B/S架构 开 ...

  7. 个人项目(二)-- 自助点餐系统

    一.需求分析 现在很多餐馆里都使用自助点餐系统节省人力,但是页面大都略显花哨,忽视了系统应有的便捷性.因此,我有了设计一个页面简单,功能齐全的点餐系统的想法. 二.程序设计 自助点餐系统应该具有以下功 ...

  8. asp.net1028-餐厅自助点餐系统#毕业设计

    项目编号:asp.net1028-餐厅自助点餐系统#毕业设计 运行环境:VS+SQL 开发工具:VS2010及以上版本 数据库:SQL2008及以上版本 使用技术:HTML+JS+HTML 开发语言: ...

  9. 【附源码】计算机毕业设计SSM喜枫日料店自助点餐系统

    项目运行 环境配置: Jdk1.8 + Tomcat7.0 + Mysql + HBuilderX(Webstorm也行)+ Eclispe(IntelliJ IDEA,Eclispe,MyEclis ...

最新文章

  1. flutter制作具有自定义导航栏的渐进式 Web 应用程序
  2. ActionScript3.0程序开发工具
  3. 看图识物_看图识物:下面图里是什么植物呢?请朋友们评论区留言
  4. SVG技术入门:线条动画实现原理
  5. [机器学习笔记]Note12--降维
  6. 电信无线网服务器是什么,怎样使用路由器共享电信天翼无线网络
  7. Java enum(枚举)的用法详解(转)
  8. 2019.7.20十道js题目
  9. 在C 编程语言中 静态数组的替代模板,以编译方式在C ++中编译时创建静态数组...
  10. 悲痛!南京大学又一女博士跳楼身亡!半年已4位…
  11. 计算机将在1分钟重启,Win10开机经常提示将在一分钟后自动重启如何处理
  12. 麦当劳将携手逾100所职业院校提升就业能力;百胜中国一季度开设315家新店 | 美通企业日报
  13. 5G+工业互联网行业解决方案
  14. 微信支付失败-1彻底扫坑
  15. 十分钟自动执行一次_十分钟上手BDP,简单好用的数据分析神器
  16. hdu 2545 树上战争
  17. 2018年已经过了一半,你还记得年初时候定的小目标么——致已经逝去的2018上半年
  18. 一脸懵逼加从入门到绝望学习hadoop之Caused by: java.net.UnknownHostException: master报错
  19. Python|自制二维码生成器
  20. Clickhouse 在云原生场景下的部署和使用

热门文章

  1. UVA 167 - The Sultan‘s Successors
  2. 【PID优化】基于matlab粒子群算法优化BP神经网络PID控制【含Matlab源码 2022期】
  3. 509. 斐波那契数
  4. 新手如何零基础操作让亚马逊无货源店铺如何单月3-5万
  5. 彩票,双色球,模拟开奖小项目
  6. 宝塔面板如何申请ssl证书?
  7. 写了个自动批改小孩作业的代码
  8. Scrapy豆瓣爬虫 爬取用户以及用户关注关系
  9. luoguP1903 [国家集训队]数颜色 / 维护队列
  10. 鸿蒙系统敏感应用,鸿蒙系统特性“揭晓”!一次开发灵活使用,生态构建难题被解决?...