用C语言编写一个餐厅点餐系统
时间: 2023-08-24 15:04:01 浏览: 162
好的,下面是一个简单的餐厅点餐系统的C语言代码,供您参考:
```
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
// 菜品结构体
typedef struct {
char name[20]; // 菜品名称
float price; // 菜品价格
} Dish;
// 菜单结构体
typedef struct {
Dish dishes[100]; // 菜品数组
int count; // 菜品数量
} Menu;
// 初始化菜单
void initMenu(Menu *menu) {
// 添加菜品
strcpy(menu->dishes[0].name, "鱼香肉丝");
menu->dishes[0].price = 20.0;
strcpy(menu->dishes[1].name, "宫保鸡丁");
menu->dishes[1].price = 22.0;
strcpy(menu->dishes[2].name, "回锅肉");
menu->dishes[2].price = 25.0;
menu->count = 3;
}
// 打印菜单
void printMenu(Menu *menu) {
printf("菜单:\n");
for (int i = 0; i < menu->count; i++) {
printf("%d. %s 价格:%.2f元\n", i+1, menu->dishes[i].name, menu->dishes[i].price);
}
}
// 点餐
void order(Menu *menu) {
int choice; // 选择的菜品编号
int num; // 菜品数量
float totalPrice = 0.0; // 总价
printf("请输入您选择的菜品编号(输入0结束点餐):\n");
while (1) {
scanf("%d", &choice);
if (choice == 0) {
break;
}
if (choice < 1 || choice > menu->count) {
printf("输入有误,请重新输入:\n");
continue;
}
printf("请输入您要点的数量:\n");
scanf("%d", &num);
printf("已点: %s 数量:%d\n", menu->dishes[choice-1].name, num);
totalPrice += menu->dishes[choice-1].price * num;
}
printf("总价为:%.2f元\n", totalPrice);
}
int main() {
Menu menu;
initMenu(&menu);
printMenu(&menu);
order(&menu);
return 0;
}
```
这个程序实现了一个简单的餐厅点餐系统,包括菜单的初始化、打印菜单、点餐等功能。您可以根据自己的需要进行修改和完善。
阅读全文