基于C#的餐厅点餐系统的设计与实现
发布人:shili8
发布时间:2023-07-01 10:06
阅读次数:69
以下是一个基于C#的餐厅点餐系统的设计与实现的示例代码和代码注释:
csharp
using System;
using System.Collections.Generic;
// 菜品类
public class Dish
{
public string Name { get; set; }
public double Price { get; set; }
}
// 订单类
public class Order
{
public int TableNumber { get; set; }
public List Dishes { get; set; }
public double TotalPrice { get; set; }
}
// 餐厅类
public class Restaurant
{
private List menu; // 菜单
private List orders; // 订单列表
public Restaurant()
{
menu = new List();
orders = new List();
}
// 添加菜品到菜单
public void AddDishToMenu(Dish dish)
{
menu.Add(dish);
}
// 显示菜单
public void DisplayMenu()
{
Console.WriteLine(Menu:);
foreach (Dish dish in menu)
{
Console.WriteLine(${dish.Name} - ${dish.Price});
}
}
// 下订单
public void PlaceOrder(Order order)
{
// 计算订单总价
double totalPrice = 0;
foreach (Dish dish in order.Dishes)
{
totalPrice += dish.Price;
}
order.TotalPrice = totalPrice;
// 添加订单到订单列表
orders.Add(order);
Console.WriteLine($Order placed for table {order.TableNumber}. Total price: ${order.TotalPrice});
}
// 显示订单列表
public void DisplayOrders()
{
Console.WriteLine(Orders:);
foreach (Order order in orders)
{
Console.WriteLine($Table {order.TableNumber}: ${order.TotalPrice});
}
}
}
public class Program
{
public static void Main(string[] args)
{
// 创建餐厅对象
Restaurant restaurant = new Restaurant();
// 添加菜品到菜单
Dish dish1 = new Dish { Name = Steak Price = 20 };
Dish dish2 = new Dish { Name = Salad Price = 10 };
Dish dish3 = new Dish { Name = Soup Price = 8 };
restaurant.AddDishToMenu(dish1);
restaurant.AddDishToMenu(dish2);
restaurant.AddDishToMenu(dish3);
// 显示菜单
restaurant.DisplayMenu();
// 下订单
Order order1 = new Order { TableNumber = 1 Dishes = new List { dish1 dish2 } };
Order order2 = new Order { TableNumber = 2 Dishes = new List { dish3 } };
restaurant.PlaceOrder(order1);
restaurant.PlaceOrder(order2);
// 显示订单列表
restaurant.DisplayOrders();
}
}
这个示例代码实现了一个简单的餐厅点餐系统。餐厅类`Restaurant`包含了菜单和订单列表,可以添加菜品到菜单、显示菜单、下订单和显示订单列表等功能。菜品类`Dish`包含了菜品的名称和价格。订单类`Order`包含了桌号、菜品列表和总价。在`Main`方法中,我们创建了一个餐厅对象,添加了几个菜品到菜单,然后下了两个订单,并显示了菜单和订单列表。
请注意,这只是一个简单的示例,实际的餐厅点餐系统可能需要更多的功能和复杂性。

