C++淄博烧烤节管理系统

C++淄博烧烤节管理系统

背景:

最近淄博烧烤挺火的,最近又有一个需求就是结合今年淄博烧烤做一个餐厅管理系统,具体需求如下,我们选择的是餐饮商家信息管理

话不多说先看效果图

在这里插入图片描述

问题描述:

淄博烧烤今年大火,“进淄赶烤”是大家最想干的事情,淄博烧烤大火特火的原因,火的不是烧烤,火的是人间烟火,火的是政通人和,火的是好客山东!火热的烧烤带动了淄博的旅游和经济,使一个三四线城市火出了圈,全部各地的城市都争相模仿,文旅局长们都争出奇招,利用本地的特色来大力发展当地经济。

某城市效仿淄博,欲举办烧烤节。为了服务好全国各地来的游客,城市准备成立相应的服务小组,为游客服务。

为了更好的管理各个服务小组,开发相应的管理系统,要求实现如下功能:

(1) 添加输入信息:程序能够添加后述表格中的信息,要求身份证号要唯一,如果添加了重复编号的记录时,则提示数据添加重复并取消添加。

(2) 插入(修改)相关信息:可根据查询结果对相应的记录进行修改,修改时注意身份证号的唯一性。

(3) 删除相关信息:实现对已添加的信息进行删除。如果当前系统中没有相应的人员记录,则提示“记录为空!”并返回操作。

(4) 统计浏览相关信息:能根据每个参数进行统计。如按性别进行统计。

(5) 保存相关信息:可将输入的信息记录存入文件中,存入方式任意。

(6) 读取相关信息:可将保存在文件中的信息读入到当前系统中,供用户进行使用。

信息管理

餐饮商家信息管理,为外地游客提供餐饮服务

餐厅编号、餐厅名称、开业时间、包间种类(10人以下就餐、10-20人就餐、30人以上就餐)及包间数量、详细地址、交通情况、餐饮种类(湘菜、川菜、鲁菜、烧烤等)、营业时间、有无演艺表演、平均消费价位、餐厅法人、餐厅法人身份证号、备注

酒店宾馆信息管理

为外地游客提供住宿服务

酒店编号、酒店名称、酒店星级、开业时间、客房种类(标准间、双人间、三人间或家庭房等)及客房数量和价格、详细地址、交通情况、服务设施(停车场、商务中心、前台贵重物品保柜、商场、行李存放服务、残疾人客房、叫醒服务、演艺吧、桑拿房、健身房、网球场)、支持卡类(国际信用卡万事达(Master)、国际信用卡威士(VISA)、国际信用卡运通(AMEX)、国际信用卡大莱(Diners Club)、国际信用卡JCB、国内发行银联卡、微信、支付宝等)、附近景点、上网情况(所有房间免费宽带上网)、酒店法人、酒店法人身份证号、备注

车站接待志愿者信息管理

在车站迎接外地游客,给游客安全感,要求身高180以上

编号、姓名、身份证号码、性别、出生日期、籍贯、民族、单位、现居住地址、文化程度、电话号码、身体状况、身高、上岗起始时间、上岗结束时间、上岗地点(汽车站、火车站)、填报日期、备注

安全保障人员信息管理

协助警察在活动场地维持秩序

编号、姓名、身份证号码、性别、出生日期、籍贯、民族、单位、现居住地址、文化程度、电话号码、身体状况、上岗起始时间、上岗结束时间、上岗地点(最多可选10个地点)、填报日期、备注

车辆志愿者管理

为了方便外地游客从火车站或汽车站到活动地点

编号、姓名、身份证号码、性别、出生日期、籍贯、民族、单位、现居住地址、文化程度、电话号码、身体状况、拥有车辆数量及可乘坐人数、志愿服务路线、志愿服务起始时间、志愿服务结束时间、填报日期、备注

大众艺人信息管理

为了活跃活动场地的气氛,需要有一定才艺的志愿者进行各种才艺表演,增加活动的趣味性。

编号、姓名、身份证号码、性别、出生日期、籍贯、民族、单位、现居住地址、文化程度、电话号码、身体状况、擅长才艺、集体或个人节目、表演时长、可参与表演起始时间、可参与表演结束时间、表演地点(最多可选10个地点)、填报日期、备注

要求:

用文件存储数据,用类实现。要求功能完整正确,代码可读性好。

不要用结构实现,也不能把类的成员全部定义为共有成员,把类当结构使用。

主菜单

在这里插入图片描述

录入与显示

在这里插入图片描述
在这里插入图片描述

修改餐厅信息:

在这里插入图片描述
在这里插入图片描述

删除功能 :

已完成,为阅读清晰,这里不再展示

统计功能:

已完成,为阅读清晰,这里不再展示

保存文件与读取文件:

已完成,为阅读清晰,这里不再展示

//主菜单 
vx :sredxc
void menu()
{
	cout << "          =================================================\n";
	cout << "          =              欢迎使用餐饮信息管理系统         =\n";
	cout << "          =                  1=录入餐厅信息               =\n";
	cout << "          =                  2=修改餐厅信息               =\n";
	cout << "          =                  3=显示所有餐厅信息           =\n";
	cout << "          =                  4=删除餐厅信息               =\n";
	cout << "          =                  5=统计餐厅信息               =\n";
	cout << "          =                  0=退出【存储到文件】         =\n";
	cout << "          =================================================\n";
	cout << "请选择:";
}
vx :sredxc
//vx : sredxc
int main()
{
	int currentN = 0;
	Restaurant restaurant[MAX_RESTAURANT_NUM];
	/*从文件读数据 */
	ifstream filein("restaurants.dat", ios::binary);
	if (filein)
	{
		filein.read((char*)&currentN, sizeof(currentN));
		for (int i = 0; i < currentN; i++)
		{
			filein.read((char*)&restaurant[i], sizeof(restaurant[i]));
		}
	}
	filein.close();
	string a;//用来判断菜单选择,用string 
	Menu();
	while (cin >> a)
	{
 
		if (a == "1")
		{
			cout << "您选择了1=录入餐饮商家信息" << endl;
			input_restaurant(restaurant, currentN);//输入
			Menu();
		}
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,一个烧烤管理系统通常需要包含以下功能: 1. 菜单管理:管理烧烤店的菜单,包括菜品、价格、库存等信息。 2. 订单管理:记录客户点餐信息、结算等。 3. 库存管理:记录库存信息,包括食材等。 4. 员工管理:管理员工信息、考勤记录等。 5. 数据统计:对烧烤店的营业额、销售情况等进行统计。 6. 系统设置:对系统进行设置,如修改密码、备份数据、日志记录等。 以下是一个简单的烧烤管理系统的代码示例: ```c++ #include <iostream> #include <vector> #include <string> using namespace std; class Dish { private: string name; double price; int stock; public: Dish(string name, double price, int stock) { this->name = name; this->price = price; this->stock = stock; } string getName() { return name; } double getPrice() { return price; } int getStock() { return stock; } void setStock(int stock) { this->stock = stock; } }; class Order { private: vector<Dish> dishes; double totalPrice; public: Order() { totalPrice = 0; } void addDish(Dish dish) { dishes.push_back(dish); totalPrice += dish.getPrice(); } double getTotalPrice() { return totalPrice; } }; class Inventory { private: vector<Dish> dishes; public: void addDish(Dish dish) { dishes.push_back(dish); } void updateStock(string name, int stock) { for (int i = 0; i < dishes.size(); i++) { if (dishes[i].getName() == name) { dishes[i].setStock(stock); break; } } } int getStock(string name) { for (int i = 0; i < dishes.size(); i++) { if (dishes[i].getName() == name) { return dishes[i].getStock(); } } return -1; } }; class Employee { private: string name; string password; public: Employee(string name, string password) { this->name = name; this->password = password; } string getName() { return name; } bool checkPassword(string password) { return this->password == password; } }; class Statistic { private: double totalSales; int totalOrders; public: Statistic() { totalSales = 0; totalOrders = 0; } void addOrder(Order order) { totalSales += order.getTotalPrice(); totalOrders++; } double getTotalSales() { return totalSales; } int getTotalOrders() { return totalOrders; } }; class System { private: vector<Employee> employees; Inventory inventory; Statistic statistic; public: System() { // 初始化员工信息、菜单信息等 employees.push_back(Employee("admin", "123456")); inventory.addDish(Dish("烤羊肉串", 1.5, 100)); inventory.addDish(Dish("烤牛肉串", 2, 80)); inventory.addDish(Dish("烤鸡翅", 1, 150)); } bool login(string name, string password) { for (int i = 0; i < employees.size(); i++) { if (employees[i].getName() == name) { return employees[i].checkPassword(password); } } return false; } void order(string name) { int stock = inventory.getStock(name); if (stock > 0) { Order order; order.addDish(Dish(name, 0, 0)); inventory.updateStock(name, stock - 1); statistic.addOrder(order); cout << "点餐成功" << endl; } else { cout << "库存不足" << endl; } } void showStatistic() { cout << "总销售额:" << statistic.getTotalSales() << endl; cout << "总订单数:" << statistic.getTotalOrders() << endl; } }; int main() { System system; string name, password; cout << "请输入用户名和密码:" << endl; cin >> name >> password; if (system.login(name, password)) { cout << "登录成功" << endl; while (true) { cout << "请选择操作:" << endl; cout << "1. 点餐" << endl; cout << "2. 统计信息" << endl; cout << "3. 退出" << endl; int choice; cin >> choice; if (choice == 1) { cout << "请输入菜名:" << endl; cin >> name; system.order(name); } else if (choice == 2) { system.showStatistic(); } else if (choice == 3) { break; } } } else { cout << "用户名或密码错误" << endl; } return 0; } ``` 以上是一个简单的烧烤管理系统的代码示例,供您参考。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值