qt设计一个点餐程序C++代码要求ui界面左边进行点餐菜名单价右边显示已点的菜品单价总价结算
以下是一个简单的C++代码,实现了一个点餐程序的UI界面:
#include <iostream>
#include <vector>
#include <string>
using namespace std;
// 菜品类
class Dish {
public:
string name;
float price;
Dish(string n, float p) {
name = n;
price = p;
}
};
int main() {
vector<Dish> menu; // 菜单
vector<Dish> orderedDishes; // 已点菜品
// 初始化菜单
menu.push_back(Dish("鱼香肉丝", 25.0));
menu.push_back(Dish("宫保鸡丁", 30.0));
menu.push_back(Dish("水煮鱼", 40.0));
menu.push_back(Dish("红烧肉", 35.0));
while (true) {
// 显示菜单
cout << "====== 菜单 ======" << endl;
for (int i = 0; i < menu.size(); i++) {
cout << i + 1 << ". " << menu[i].name << " 单价:" << menu[i].price << endl;
}
// 已点菜品
cout << "====== 已点菜品 ======" << endl;
float totalPrice = 0.0;
for (int i = 0; i < orderedDishes.size(); i++) {
cout << orderedDishes[i].name << " 单价:" << orderedDishes[i].price << endl;
totalPrice += orderedDishes[i].price;
}
cout << "总价:" << totalPrice << endl;
// 用户选择菜品
int choice;
cout << "请选择要点的菜品(输入菜品编号,输入0结算):";
cin >> choice;
if (choice == 0) {
// 结算
cout << "结算成功!总价:" << totalPrice << endl;
break;
}
else if (choice > 0 && choice <= menu.size()) {
// 添加已点菜品
orderedDishes.push_back(menu[choice - 1]);
cout << "已点菜品:" << menu[choice - 1].name << " 单价:" << menu[choice - 1].price << endl;
}
else {
cout << "无效的选择,请重新输入!" << endl;
}
}
return 0;
}
请注意,这只是一个简单的实现,可能不符合实际需求。您可以根据自己的实际需求进行修改和优化
原文地址: https://www.cveoy.top/t/topic/irbL 著作权归作者所有。请勿转载和采集!