生成一个餐厅管理系统的c语言代码
时间: 2024-03-25 22:36:33 浏览: 68
好的,以下是一个简单的餐厅管理系统的C语言代码:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_DISHES 100 // 最大菜品数量
#define MAX_ORDERS 50 // 最大订单数量
// 菜品结构体
typedef struct {
char name[20]; // 菜品名称
float price; // 菜品价格
} Dish;
// 订单结构体
typedef struct {
int table_number; // 桌号
int dish_count; // 菜品数量
Dish dishes[10]; // 菜品列表
float total_price; // 订单总价
} Order;
Dish dishes[MAX_DISHES]; // 菜品列表
Order orders[MAX_ORDERS]; // 订单列表
int dish_count = 0; // 菜品数量
int order_count = 0; // 订单数量
// 添加一个菜品
void add_dish() {
if (dish_count >= MAX_DISHES) {
printf("菜品数量已达到上限,无法添加新菜品!\n");
return;
}
printf("请输入菜品名称:");
scanf("%s", dishes[dish_count].name);
printf("请输入菜品价格:");
scanf("%f", &dishes[dish_count].price);
dish_count++;
printf("菜品添加成功!\n");
}
// 显示所有菜品
void show_dishes() {
printf("所有菜品如下:\n");
for (int i = 0; i < dish_count; i++) {
printf("%d. %s - %.2f元\n", i+1, dishes[i].name, dishes[i].price);
}
}
// 下订单
void place_order() {
if (order_count >= MAX_ORDERS) {
printf("订单数量已达到上限,无法下新订单!\n");
return;
}
Order new_order;
printf("请输入桌号:");
scanf("%d", &new_order.table_number);
int dish_index = 0;
while (1) {
show_dishes();
printf("请输入菜品编号(0表示结束):");
scanf("%d", &dish_index);
if (dish_index <= 0 || dish_index > dish_count) {
break;
}
Dish selected_dish = dishes[dish_index-1];
new_order.dishes[new_order.dish_count] = selected_dish;
new_order.total_price += selected_dish.price;
new_order.dish_count++;
}
orders[order_count] = new_order;
order_count++;
printf("订单下达成功!\n");
}
// 显示所有订单
void show_orders() {
printf("所有订单如下:\n");
for (int i = 0; i < order_count; i++) {
Order o = orders[i];
printf("桌号:%d\t总价:%.2f元\n", o.table_number, o.total_price);
printf("菜品列表:");
for (int j = 0; j < o.dish_count; j++) {
printf("%s ", o.dishes[j].name);
}
printf("\n");
}
}
// 主函数
int main() {
int choice = 0;
while (1) {
printf("========================\n");
printf("1. 添加菜品\n");
printf("2. 显示所有菜品\n");
printf("3. 下订单\n");
printf("4. 显示所有订单\n");
printf("5. 退出\n");
printf("========================\n");
printf("请输入操作编号:");
scanf("%d", &choice);
switch (choice) {
case 1:
add_dish();
break;
case 2:
show_dishes();
break;
case 3:
place_order();
break;
case 4:
show_orders();
break;
case 5:
printf("感谢使用餐厅管理系统!\n");
exit(0);
default:
printf("无效的操作编号,请重新输入!\n");
break;
}
}
return 0;
}
```
该代码实现了添加菜品、显示菜品、下订单、显示订单等功能。用户可以通过菜单选择需要的操作。
阅读全文