C++实现一个学生点菜系统,具体体现出菜单的增删查改
时间: 2024-03-13 22:43:10 浏览: 14
以下是一个简单的学生点菜系统的 C++ 代码实现,实现了菜单的增删查改:
```cpp
#include <iostream>
#include <vector>
#include <string>
using namespace std;
class Food {
public:
string name; // 菜名
double price; // 单价
int num; // 数量
Food(string name, double price, int num) {
this->name = name;
this->price = price;
this->num = num;
}
};
class Menu {
public:
vector<Food> foods; // 菜单列表
// 添加菜品
void addFood(string name, double price, int num) {
for (int i = 0; i < foods.size(); i++) {
if (foods[i].name == name) {
foods[i].price = price;
foods[i].num = num;
return;
}
}
foods.push_back(Food(name, price, num));
}
// 删除菜品
void removeFood(string name) {
for (int i = 0; i < foods.size(); i++) {
if (foods[i].name == name) {
foods.erase(foods.begin() + i);
return;
}
}
}
// 查询菜品
void searchFood(string name) {
for (int i = 0; i < foods.size(); i++) {
if (foods[i].name == name) {
cout << "菜名:" << foods[i].name << endl;
cout << "单价:" << foods[i].price << endl;
cout << "数量:" << foods[i].num << endl;
return;
}
}
cout << "菜品不存在!" << endl;
}
// 修改菜品
void modifyFood(string name, double price, int num) {
for (int i = 0; i < foods.size(); i++) {
if (foods[i].name == name) {
foods[i].price = price;
foods[i].num = num;
return;
}
}
cout << "菜品不存在!" << endl;
}
};
int main() {
Menu menu;
// 添加菜品
menu.addFood("鱼香肉丝", 28.0, 50);
menu.addFood("宫保鸡丁", 32.0, 40);
menu.addFood("回锅肉", 35.0, 30);
// 查询菜品
cout << "查询菜品:鱼香肉丝" << endl;
menu.searchFood("鱼香肉丝");
// 修改菜品
cout << "修改菜品:鱼香肉丝" << endl;
menu.modifyFood("鱼香肉丝", 30.0, 60);
menu.searchFood("鱼香肉丝");
// 删除菜品
cout << "删除菜品:宫保鸡丁" << endl;
menu.removeFood("宫保鸡丁");
return 0;
}
```
在这个程序中,我们定义了一个 `Food` 类来表示菜品,其中包含了菜名、单价和数量三个属性。我们还定义了一个 `Menu` 类来表示菜单,其中包含了菜单列表,以及增删查改菜品的方法。在 `main` 函数中,我们首先添加了几个菜品到菜单中,然后查询了一个菜品的信息,接着修改了一个菜品的信息,最后删除了一个菜品。