帮我写一个C语言的食堂点餐系统
时间: 2023-08-28 10:36:45 浏览: 64
好的,下面是一个简单的C语言食堂点餐系统的代码示例,希望可以帮助到您:
```c
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#define MAX_ITEMS 10
#define MAX_NAME_LEN 20
typedef struct {
char name[MAX_NAME_LEN];
int price;
} MenuItem;
int main() {
MenuItem menu[MAX_ITEMS];
int num_items = 0;
int total_price = 0;
int choice;
// 初始化菜单
strcpy(menu[0].name, "鱼香肉丝");
menu[0].price = 20;
strcpy(menu[1].name, "宫保鸡丁");
menu[1].price = 18;
strcpy(menu[2].name, "炒青菜");
menu[2].price = 8;
num_items = 3;
// 输出菜单
printf("欢迎光临,本店菜单如下:\n");
for (int i = 0; i < num_items; i++) {
printf("%d. %s\t%d元\n", i + 1, menu[i].name, menu[i].price);
}
// 点餐
while (1) {
printf("请输入您的选择(输入0结算):");
scanf("%d", &choice);
if (choice == 0) {
break;
} else if (choice < 1 || choice > num_items) {
printf("输入有误,请重新输入!\n");
continue;
}
total_price += menu[choice - 1].price;
printf("%s已加入您的点餐清单。\n", menu[choice - 1].name);
}
// 结算
printf("您的点餐清单如下:\n");
for (int i = 0; i < num_items; i++) {
printf("%s\t%d元\n", menu[i].name, menu[i].price);
}
printf("总价:%d元\n", total_price);
return 0;
}
```
这个示例实现了一个简单的点餐系统,包括菜单的初始化、展示、点餐和结算等功能。在代码中,我们使用了结构体来定义每个菜品的名称和价格,使用循环来输出菜单和点餐清单,使用条件语句来判断用户输入的选择是否合法。
当然,这只是一个简单的示例,实际的食堂点餐系统可能需要更复杂的功能和交互方式,比如支持多种菜品、多种付款方式、多种优惠活动等等。如果您需要更详细的实现方式,可以参考一些开源的食堂点餐系统,如OpenMeal等。